这样不行吧,datagrid 一次只能有一条记录自于编辑状态。

解决方案 »

  1.   

    用模板列了~不过不是处于编辑状态,只是在显示的时候用TextBox显示~,更新时查找到这个TextBox取出所输入的值~
      

  2.   

    无法使用 EditItemIndex 属性来指定
    只能自己手工创建一个“编辑状态”,用 TemplateColumn,里面放文本框什么的:)
      

  3.   

    用模板列了~不过不是处于编辑状态,只是在显示的时候用TextBox显示~,更新时查找到这个TextBox取出所输入的值~
      

  4.   

    用模板列,TextBox,如果是选择的,绑定DropDownList,即可。 
    <asp:TemplateColumn SortExpression="EnProductName" HeaderText="英文名称">
    <ItemTemplate>
    <asp:TextBox id="txtEnProductName" runat="server" Width=100px Text='<%# DataBinder.Eval(Container.DataItem, "EnProductName") %>'>
    </asp:TextBox>
    </ItemTemplate>
    </asp:TemplateColumn>获得文本框内容:
    foreach (DataGridItem dgi in dgList.Items) //dgList为DataGrid名称
    {
    if(dgi.ItemType== ListItemType.Item || dgi.ItemType == ListItemType.AlternatingItem)
    {
        string EnProductName=((TextBox)dgi.FindControl("txtEnProductName")).Text;
    }
    }
      

  5.   

    string EnProductName= =((TextBox)dgi.Cells[0].Control[0]).Text;也可以这样。
      

  6.   

    datagrid本身只支持一条一条记录的编辑,就是说你要用datagrid本身的编辑方面的功能,就做不到你的要求。
    不过可以自己做,把所有的列都用模板列来做,每个列的<ItemTemplate>都为textbox或者DropDownList之类的可编辑的控件。提交后逐条的读取,更新数据库。