Vb.net 当gridview行处于编辑模式时,我应该使用哪个事件来更改控件?
我有一个带有编辑和项目模板的gridview。我想做的是,当一行处于编辑模式时,根据其中一列的值创建两个文本框,或者是只读的,或者是读写的 项目模板包含两个图像按钮编辑/删除三个标签(主标签、次标签和IsSecondary标签)。编辑模板有两个imagebuttons Cancel/Save(取消/保存)、两个文本框(Primary(主)和Secondary(次)以及一个用于选择Primary(主)或Secondary(次)的下拉列表) 我想做的是将两个文本框设置为只读,如果在进入编辑模式时下拉值是次要的。基本上,当值是次要值时,用户只能切换到主要值,但不能编辑文本框中的值。如果值是主值,则可以编辑这些值 我已尝试将以下内容添加到RowDataBound事件中Vb.net 当gridview行处于编辑模式时,我应该使用哪个事件来更改控件?,vb.net,events,gridview,Vb.net,Events,Gridview,我有一个带有编辑和项目模板的gridview。我想做的是,当一行处于编辑模式时,根据其中一列的值创建两个文本框,或者是只读的,或者是读写的 项目模板包含两个图像按钮编辑/删除三个标签(主标签、次标签和IsSecondary标签)。编辑模板有两个imagebuttons Cancel/Save(取消/保存)、两个文本框(Primary(主)和Secondary(次)以及一个用于选择Primary(主)或Secondary(次)的下拉列表) 我想做的是将两个文本框设置为只读,如果在进入编辑模式时下拉
If e.Row.RowState = DataControlRowState.Edit Then
If ddl_IsSecondary.SelectedValue = 1
tb_Primary.ReadOnly = True
tb_Secondary.Readonly = True
Else
tb_Primary.ReadOnly = False
tb_Secondary.Readonly = False
End If
End If
不幸的是,无论下拉列表的值是多少,文本框都是可读写的
还有什么我可以试试的吗?我想你需要使用。MSDN声明:
在选定单元格的编辑模式启动时发生
如果正在编辑的单元格是包含下拉列表的单元格,您可能也应该忽略该事件。谢谢。。。我没有试过你的答案,但我会看看。。。我真的找到了我的答案。。。我的测试恰好在一个偶数行上,这是一个备用行。所以我的路线
If e.Row.RowState = DataControlRowState.Edit Then...
没有被触发。。。将代码更改为
If e.Row.RowState = DataControlRowState.Edit OR e.Row.RowState = DataControlRowState.Alternate + DataControlRowState.Edit Then...
工作很好
If e.Row.RowState = DataControlRowState.Edit OR e.Row.RowState = DataControlRowState.Alternate + DataControlRowState.Edit Then...