首先我没有使用模板列
打个比方我有一张数据表显示在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一直这样下去,是不是有什么方法是内部支持可以简单一点完成这种任务的?

解决方案 »

  1.   

    设置修改列不就好了,哪里点编辑之后
    在EditCommand事件里面
    MyDataGrid.EditItemIndex = [3]或4,5
    不就好了?
      

  2.   

    MyDataGrid.EditItemIndex=1
    MyDataGrid.EditItemIndex=2
    MyDataGrid.EditItemIndex=3
    ...
      

  3.   

    不能那种,我的Datagrid是整个系统中只用了那一个,所有的绑定语句或SQL语句什么的,都是通过全局函数或变量传进来的,也就是说整个Datagrid页面中所有的都是变量,如过按楼楼上的兄弟说的方法的话,我只能将他用做一个表了吧?
      

  4.   

    Item_Command事件中:
    {
       string Data1 = ((TextBox)( e.Item.Cells[e.Item.ItemIndex].Controls[0])).Text;
    }e.Item.ItemIndex;//表示取得当前正在编辑的行的索引.
      

  5.   

    不能那种,我的Datagrid是整个系统中只用了那一个,所有的绑定语句或SQL语句什么的,都是通过全局函数或变量传进来的,也就是说整个Datagrid页面中所有的都是变量,如过按楼楼上的兄弟说的方法的话,我只能将他用做一个表了吧?