CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

如何更新DataGrid中的数据?

楼主huhz1979()2006-07-04 13:57:52 在 .NET技术 / ASP.NET 提问

我的DataGrid中有很多行数据,我想更新某一行的某个字段的值,我该用什么方法? 问题点数:50、回复次数:7Top

1 楼xfxf521(天使也一样)回复于 2006-07-04 14:07:58 得分 5

使用模版列,每一列加一个button按钮,再在时间里写响应的sql语句Top

2 楼francsescoli(我爱世界杯)回复于 2006-07-04 14:08:24 得分 0

给DataGrid增加一个编辑、更新、取消按钮列  
  Top

3 楼jc15271149(奶皮儿)回复于 2006-07-04 14:18:19 得分 0

参考MSDNTop

4 楼etilm(周贤)回复于 2006-07-04 14:22:53 得分 5

在UpdateCommand中写事件Top

5 楼yqwaxyq()回复于 2006-07-04 23:05:05 得分 30

<asp:datagrid   id="DataGrid1"   runat="server"   DataKeyField="EmployeeID"   CssClass="border"   CellPadding="5"  
  BorderWidth="0px"   CellSpacing="1"   AutoGenerateColumns="False">  
  <ItemStyle   CssClass="item"></ItemStyle>  
  <HeaderStyle   CssClass="header"></HeaderStyle>  
  <Columns>  
  <asp:BoundColumn   DataField="FirstName"   HeaderText="FirstName"></asp:BoundColumn>  
  <asp:BoundColumn   DataField="LastName"   HeaderText="LastName"></asp:BoundColumn>  
  <asp:BoundColumn   DataField="Title"   HeaderText="Title"></asp:BoundColumn>  
  <asp:BoundColumn   DataField="BirthDate"   HeaderText="BirthDate"   DataFormatString="{0:yyyy-MM-dd}"></asp:BoundColumn>  
  <asp:ButtonColumn   ButtonType="LinkButton"   CommandName="edit"   Text="edit"   Visible="False"></asp:ButtonColumn>  
  <asp:ButtonColumn   ButtonType="LinkButton"   CommandName="update"   Text="update"   Visible="False"></asp:ButtonColumn>  
  </Columns>  
  </asp:datagrid>  
  ==========================================================================  
  private   void   DataGrid1_ItemCommand(object   source,   System.Web.UI.WebControls.DataGridCommandEventArgs   e)  
  {  
  if(e.CommandName=="edit")  
  {  
  this.DataGrid1.EditItemIndex=e.Item.ItemIndex;  
  SetBind();  
  }  
  if(e.CommandName=="update")  
  {  
  try  
  {  
  SqlConnection   conn=new   SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["strconn"]);  
  SqlCommand   comm=new   SqlCommand("update   Employees   set   FirstName=@FirstName,LastName=@LastName,Title=@Title,BirthDate=@BirthDate   where   EmployeeID=@EmployeeID",conn);  
  SqlParameter   parm1=new   SqlParameter("@FirstName",SqlDbType.NVarChar,20);  
  parm1.Value=((TextBox)e.Item.Cells[0].Controls[0]).Text;  
  SqlParameter   parm2=new   SqlParameter("@LastName",SqlDbType.NVarChar,10);  
  parm2.Value=((TextBox)e.Item.Cells[1].Controls[0]).Text;  
  SqlParameter   parm3=new   SqlParameter("@Title",SqlDbType.NVarChar,20);  
  parm3.Value=((TextBox)e.Item.Cells[2].Controls[0]).Text;  
  SqlParameter   parm4=new   SqlParameter("@BirthDate",SqlDbType.DateTime);  
  parm4.Value=((TextBox)e.Item.Cells[3].Controls[0]).Text;  
  SqlParameter   parm5=new   SqlParameter("@EmployeeID",SqlDbType.Int);  
  parm5.Value=this.DataGrid1.DataKeys[e.Item.ItemIndex];  
  comm.Parameters.Add(parm1);  
  comm.Parameters.Add(parm2);  
  comm.Parameters.Add(parm3);  
  comm.Parameters.Add(parm4);  
  comm.Parameters.Add(parm5);  
  conn.Open();  
  comm.ExecuteNonQuery();  
  conn.Close();  
  }  
  catch  
  {  
  Response.Write("<script>alert('输入的数据格式有误');</script>");  
  }  
  finally  
  {  
  this.DataGrid1.EditItemIndex=-1;  
  SetBind();  
  }  
  }  
  ==============================================  
  这只是一种,方法很多的  
  Top

6 楼artak(甜葡萄)回复于 2006-07-04 23:42:24 得分 10

string   content=((TextBox)e.Item.Cells[0].Controls[0]).Text;获取所要改的列的cell的值  
  在执行更新就好  
  Top

7 楼mextb1860()回复于 2006-07-04 23:56:17 得分 0

都不错。。帮忙顶Top

相关问题

关键词

得分解答快速导航

  • 帖主:huhz1979
  • xfxf521
  • etilm
  • yqwaxyq
  • artak

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo