我在其中一个网页中有 asp:FormView 控件,在其中我使用 Telrik RadGrid 和 RadComboBox(位于 RadGrid 之外)
将此表单视为“插入新记录”表单。
如果选择了任何项目,我只能在 RadGrid 中插入记录 从 RadComboBox 列表中选择,否则如果未从 RadComboBox 中选择任何项目,RadGrid“添加新”按钮将被禁用。换句话说,只有在用户从 RadComboBox 中选择任何项目后,才会在 RadGrid 中插入记录。
现在我得到一个要求:如果在此网络表单中添加任何新记录。用户第一个从 RadCmoboBox 列表中选择任何项目,然后单击 RadGrid“添加新”按钮添加记录,然后在 RadGrid 中添加至少 1 条记录后,RadComboBox 应禁用(以便用户不应从 RadComboBox 中选择另一个项目)
即,只有 1 个 RadComboBox 可以有多个与 RadGrid 所选项目相关的 RadGrid 条目。
我的问题是:由于 Telerik 控件位于 asp FormView 下,因此当我从 RadGrid 添加/编辑/删除任何记录时,页面永远不会回发。
就我而言,页面在 page_load 事件之后不会回发。但仅在页面加载后,我可以在从 RadComboBox 选择项目时在 RadGrid 中添加记录。第二次页面仅在从 RadComboBox 选择记录时回发(在 RadcomboBoxSelectedIndexChanged 事件上)
我在 RadGrid 的所有事件中尝试了 RadComboBox 禁用代码,但是 它不起作用,因为我在 RadGrid 中添加/编辑/删除记录后,我的页面没有发回。
我自己找到了解决方案: 我在
RadComboBox_SelectedIndexChanged
事件上禁用了 RadComboBox,然后允许在 RadGrid 中添加记录(对于选定/禁用的 RadCombo 项)。