请看下面的代码,datagrid里面有TextBox,请问我如何在点击按钮后在下面事件中更新datagrid里面新输入的内容,请给出相关代码!谢谢!
#region 更改系统组基本资料
private void ButtonSystemUserUpdate_Click(object sender, System.EventArgs e)
{

}
#endregion
==================================================================================
<!--系统用户组管理版面--><BR>
<TABLE class="tableBorder" cellSpacing="1" cellPadding="3" width="95%" align="center" border="0">
<TR>
<TH align="left" colSpan="6" height="23">
系统用户组管理<A name="1"></A></TH></TR>
<TR>
<TD class="Forumrow" colSpan="6" height="25">小提示:点击权限您可以分别设定每个系统用户组分别拥有不同的网站权限,系统组头衔和图标显示在前台用户信息中
</TD>
</TR>
<TR>
<TD class="Forumrow" colSpan="6">
<asp:DataGrid id="SystemAdmin" Runat="server" BackColor="#ffffff" BorderWidth="0" Width="100%"
AutoGenerateColumns="False" CellPadding="2" CellSpacing="1" ShowFooter="False" ShowHeader="True"
OnItemDataBound="DataBind">
<PagerStyle Visible="False" />
<HeaderStyle BackColor="LightGrey" Height="25" Font-Bold="True" />
<ItemStyle BackColor="WhiteSmoke" />
<Columns>
<asp:TemplateColumn ItemStyle-Width="5%" HeaderText="组ID" HeaderStyle-CssClass="bodytitle">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"GroupID")%>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn ItemStyle-Width="20%" HeaderText="系统组头衔" HeaderStyle-CssClass="bodytitle">
<ItemTemplate>
<asp:TextBox ID=Title2 Runat=server Text='<%#DataBinder.Eval(Container.DataItem,"Title")%>'>
</asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn ItemStyle-Width="10%" HeaderText="系统中名称" HeaderStyle-CssClass="bodytitle">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"UserTitle")%>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn ItemStyle-Width="35%" HeaderText="组(等级)图片" HeaderStyle-CssClass="bodytitle">
<ItemTemplate>
<asp:TextBox ID=GroupPic2 Runat=server Text='<%#DataBinder.Eval(Container.DataItem,"GroupPic")%>'>
</asp:TextBox>
<img src='../Logo/Stars/<%#DataBinder.Eval(Container.DataItem,"GroupPic")%>'>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn ItemStyle-Width="10%" HeaderText="用户数" HeaderStyle-CssClass="bodytitle">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"UserTitle")%>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn ItemStyle-Width="20%" HeaderText="操作" HeaderStyle-CssClass="bodytitle">
<ItemTemplate>
<a href='Group.aspx?GroupID=<%#DataBinder.Eval(Container.DataItem,"GroupID")%>&Action=Admin'>
编辑</a> | <a href='User.aspx?GroupID=<%#DataBinder.Eval(Container.DataItem,"GroupID")%>'>
列出用户</a>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid></TD>
</TR>
<TR align="center">
<TD class="forumrowHighlight" colSpan="6" height="25">
<asp:Button id="ButtonSystemUserUpdate" Runat="server" Text="提交更改"></asp:Button></TD>
</TR>
</TABLE>
<BR>
</asp:panel>

解决方案 »

  1.   

    你所谓的更新是什么??
    读模板列里textbox的值??? 还是什么啊,
    而且也不需要在update事件里写啊,用个模板列按纽就行了,update是更新datagrid数据源的,建议去随便找本书看看吧
      

  2.   

    参考
    http://singlepine.cnblogs.com/articles/266538.html
      

  3.   

    当然是更新模板列里面的textbox值,也就是读取textbox的值,更新到 数据库!
      

  4.   

    //每个datagrid的编辑事件
    private void DataGrid1_UpdateCommand(object sender,DataGridCommandEventArgs e)
    {
    string ID=this.DataGrid1.DataKeys[e.Item.ItemIndex];
    DataRow dr=dt.Rows.Find(ID);
    if (dr!=null)
    {
    dr["Title"] = ((TextBox)e.Item.FindControl("Title2")).Text.ToString();
    dr["GroupPic"]= ((TextBox)e.Item.FindControl("GroupPic2")).Text.ToString();
    }
    dr.AcceptChanges();
    dt.AcceptChanges();
    }private DataTable dt
    {
    get
    {
    if (this.ViewState["dt"]!=null)
    return (DataTable)this.ViewState["dt"];
    else
    return null;
    }
    set
    {
    this.ViewState["dt"]=value;
    }
    }private void ButtonSystemUserUpdate_Click(object sender, System.EventArgs e)
    {
    //把datatable更新到数据库
    更新datatable的方法可以参考
    http://singlepine.cnblogs.com/articles/255374.html
    }以上是大概思路,具体要再修改下