当前位置: 代码迷 >> ASP.NET >> GRIDVIEW的一个疑问~速度揭贴~解决方案
  详细解决方案

GRIDVIEW的一个疑问~速度揭贴~解决方案

热度:3000   发布时间:2013-02-25 00:00:00.0
GRIDVIEW的一个疑问~速度揭贴~
((TextBox)GridView1.Rows[e.RowIndex].Cells[4].Controls[0]).Text
在GridView1_RowUpdating能用。
而在GridView1_RowEditing里不能用。

是不是GridView1_RowEditing里就不能设置编辑的TEXTBOX了?
在GridView1_RowEditing里如何访问TEXTBOX~

------解决方案--------------------------------------------------------
RowEditing是GridView 控件进入编辑模式之前的事件,那时GridView1.Rows[e.RowIndex].Cells[4].Controls[0])还不是TextBox,所以不能访问

GridView1.Rows[e.RowIndex].Cells[4].Controls[0]).ToString()
看看上面这句打印出来是什么?根据其类型进行转换。


------解决方案--------------------------------------------------------
是不是GridView1_RowEditing里就不能设置编辑的TEXTBOX了?
============>
当然可以编辑TextBox,但要注意引用TextBox的顺序
一般在RowEditing事件里,会有这样的代码:
GridView1.EditIndex = e.NewEditIndex; //所选中行设置为编辑行
BindData(); //重新绑定数据
而引用编辑行中的TextBox,要在重新绑定数据(BindData())之后。在这之前引用为null,因为根本不存在TextBox

正确代码如下:
GridView1.EditIndex = e.NewEditIndex;
BindData();
((TextBox)GridView1.Rows[e.RowIndex].Cells[4].Controls[0]).Text
  相关解决方案