我有个datagrid,是模版列的
模版列1  模版列2   模版列3   模版列4   模版列5   模版列6
  1        12       123       1234      12345    123456
  2        23       234       2345      23456    234567我想在页面上点击一个button按钮后来触发事件,使这个datadrid的模版列4的数据可以被编辑

解决方案 »

  1.   

    你这个问题意思不清楚.
    datagrid本来就可以支持编辑功能,但我不明白你的按钮是在datagrid的行里面的按钮列还是在datagrid之外的普通按钮?
    如果在里面,直接用它的编辑功能就是了
    如果在外面,想使整列可被编辑,这个就跟模板列没有关系.你可以在列4上直接放文本框,默认不可写,点击按钮时,循环datagrid的每一行,得到此文本框,将它的只读去除,这样它就可编辑了.
    想用datagrid本身的编辑功能使一整列都可编辑是无法实现的.
      

  2.   

    按钮是在datagrid之外的普通按钮。最好有详细的代码说明
      

  3.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=8ADE535F-AD40-4DE3-A962-A64B4FAF12C4 去这里参考一下
      

  4.   

    假设如下是要编辑列的模板
    <asp:TextBox id="TextBox1" ReadOnly=true ....
    点击按钮后,在按钮事件里面
    for(int i=0;i<this.DataGrid1.Items.Count;i++)
    {
    TextBox TextBox1 = (TextBox)this.DataGrid1.Items[i].FindControl("TextBox1");
    TextBox1.ReadOnly = false;
    }
    这样,此列的所有行都可以进行编辑
    不过,你是想使此列的所有行都可编辑,还是只编辑某行的此列?
      

  5.   

    在itemdatabind中加入for(int i=0;i<this.DataGrid1.Items.Count;i++)
    {
    TextBox TextBox1 = (TextBox)this.DataGrid1.Items[i].FindControl("TextBox1");
    if(i=4)
      {  
        TextBox1.ReadOnly = false;
       }
    else 
       {
         TextBox1.ReadOnly = true;   }
    }
    //只有第4列可以编辑,别的都为只读