首先我没有使用模板列
打个比方我有一张数据表显示在datagrid里面,如果我想编辑它的第一行,比如操作是updatestring Data1 = ((TextBox)( e.Item.Cells[3].Controls[0])).Text;
string Data2 = ((TextBox)( e.Item.Cells[4].Controls[0])).Text;string sql_edit = "UPDATE roomtable set louceng='"+Data2+"' where roomnum='" +Data1+"'";然后是sqlcommand就OK了不过这样的话,我只能编辑它的第一行,如果我要编辑第2行或以后的行的话,我又要去定义data3.4.5一直这样下去,是不是有什么方法是内部支持可以简单一点完成这种任务的?
打个比方我有一张数据表显示在datagrid里面,如果我想编辑它的第一行,比如操作是updatestring Data1 = ((TextBox)( e.Item.Cells[3].Controls[0])).Text;
string Data2 = ((TextBox)( e.Item.Cells[4].Controls[0])).Text;string sql_edit = "UPDATE roomtable set louceng='"+Data2+"' where roomnum='" +Data1+"'";然后是sqlcommand就OK了不过这样的话,我只能编辑它的第一行,如果我要编辑第2行或以后的行的话,我又要去定义data3.4.5一直这样下去,是不是有什么方法是内部支持可以简单一点完成这种任务的?
在EditCommand事件里面
MyDataGrid.EditItemIndex = [3]或4,5
不就好了?
MyDataGrid.EditItemIndex=2
MyDataGrid.EditItemIndex=3
...
{
string Data1 = ((TextBox)( e.Item.Cells[e.Item.ItemIndex].Controls[0])).Text;
}e.Item.ItemIndex;//表示取得当前正在编辑的行的索引.