asp.net中使用DatagridView的增删改方法具体实现

  default.aspx 页面:

  

复制代码 代码如下:

  <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="GPS_Web.Default" %>

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <html xmlns="http://www.w3.org/1999/xhtml" >

  <head runat="server">

  <title></title>

  </head>

  <body>

  <form id="form1" runat="server">

  <div>

  <!--GridView中必须写的几个事件:onrowediting、onrowupdating、onrowcancelingedit、onrowdeleting--->

  <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"

  onpageindexchanging="GridView1_PageIndexChanging" onrowcancelingedit="GridView1_RowCancelingEdit"

  onrowediting="GridView1_RowEditing" onrowupdating="GridView1_RowUpdating"

  onrowdeleting="GridView1_RowDeleting"

  onselectedindexchanging="GridView1_SelectedIndexChanging">

  <Columns>

  <asp:TemplateField HeaderText="编号" Visible="False">

  <ItemTemplate>

  <asp:Label ID="lblNum" runat="server" Text='<%# Eval("Num") %>'></asp:Label>

  </ItemTemplate>

  </asp:TemplateField>

  <asp:TemplateField HeaderText="姓名">

  <EditItemTemplate>

  <asp:TextBox ID="txtTableName" runat="server" Text='<%# Eval("TableName") %>'></asp:TextBox>

  </EditItemTemplate>

  <ItemTemplate>

  <asp:Label ID="Label2" runat="server" Text='<%# Eval("TableName") %>'></asp:Label>

  </ItemTemplate>

  </asp:TemplateField>

  <asp:TemplateField HeaderText="地址">

  <EditItemTemplate>

  <asp:TextBox ID="txtTextName" runat="server" Text='<%# Eval("TextName") %>'></asp:TextBox>

  </EditItemTemplate>

  <ItemTemplate>

  <asp:Label ID="Label3" runat="server" Text='<%# Eval("TextName") %>'></asp:Label>

  </ItemTemplate>

  </asp:TemplateField>

  <asp:CommandField HeaderText="状态" ShowSelectButton="True" />

  <asp:CommandField HeaderText="编辑" ShowEditButton="True" />

  <asp:CommandField HeaderText="删除" ShowDeleteButton="True" />

  </Columns>

  </asp:GridView>

  <br />

  <asp:Button ID="btnAdd" runat="server" onclick="btnAdd_Click" Text="添加" />

  <br />

  <br />

  </div>

  </form>

  </body>

  </html>

  default.aspx.cs页面代码:

  

复制代码 代码如下:

  using System;

  using System.Web.UI;

  using System.Web.UI.WebControls;

  using GPS_Web.ywpages.DAL;

  using System.Data;

  namespace GPS_Web

  {

  /// <summary>

  /// 参考的网址:http://blog.csdn.net/wanglei_samrtfish/article/details/8070480

  /// </summary>

  public partial class Default : System.Web.UI.Page

  {

  protected void Page_Load(object sender, EventArgs e)

  {

  if (!Page.IsPostBack)

  {

  GridViewBind();

  }

  }

  private void GridViewBind()

  {

  string sql = "select Num,TableName,TextName from dbo.GroupType_Demo";

  try

  {     //绑定数据源

  GridView1.DataSource = SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql).Tables[0];

  GridView1.DataBind();

  }

  catch (Exception ex){}

  }

  protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)

  {

  GridView1.PageIndex = e.NewPageIndex;

  GridViewBind();

  }

  protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)

  {

  GridView1.EditIndex = -1;

  GridViewBind();

  }

  protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)

  {  //gridview编辑项索引等于单击行的索引

  GridView1.EditIndex = e.NewEditIndex;

  GridViewBind();

  }

  /// <summary>

  /// 修改事件

  /// </summary>

  protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)

  {  //取出编号

  int Num = Convert.ToInt32(((Label)GridView1.Rows[e.RowIndex].FindControl("lblNum")).Text.ToString());

  //获取修改的值的内容

  string TableName = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtTableName")).Text;

  string TextName = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtTextName")).Text;

  //更新记录

  string sql = string.Format("update dbo.GroupType_Demo set TableName='{0}',TextName='{1}' where Num={2}",TableName,TextName,Num);

  try

  {

  int i = SqlHelper.ExecuteNonQuery(SqlHelper.GetConnSting(), CommandType.Text, sql);

  if (i > 0)

  {

  ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script language='javascript'>alert('修改成功!')</script>");

  }

  else

  {

  ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script language='javascript'>alert('修改失败!')</script>");

  }

  }

  catch (Exception ex)

  {

  ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script language='javascript'>alert('操作无效!')</script>");

  }

  GridView1.EditIndex = -1;

  GridViewBind();

  }

  /// <summary>

  /// 删除事件

  /// </summary>

  protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)

  {

  //取出编号

  int Num = Convert.ToInt32(((Label)GridView1.Rows[e.RowIndex].FindControl("lblNum")).Text.ToString());

  //更新记录

  string sql = string.Format("delete dbo.GroupType_Demo where num={0}", Num);

  try

  {

  int i = SqlHelper.ExecuteNonQuery(SqlHelper.GetConnSting(), CommandType.Text, sql);

  if (i > 0)

  {

  ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script language='javascript'>alert('删除成功!')</script>");

  }

  else

  {

  ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script language='javascript'>alert('删除失败!')</script>");

  }

  }

  catch (Exception ex)

  {

  ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script language='javascript'>alert('操作无效!')</script>");

  }  www.glzy8.com

  GridView1.EditIndex = -1;

  GridViewBind();

  }

  /// <summary>

  /// 添加按钮

  /// </summary>

  protected void btnAdd_Click(object sender, EventArgs e)

  {

  Response.Redirect("~/Default_Add.aspx");

  }

  protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)

  {

  //行号

  int i = e.NewSelectedIndex;

  GridViewRow row = GridView1.Rows[e.NewSelectedIndex];

  btnAdd.Text = "你选中了第" + (i+1) + "行。";

  }

  }

  }

  执行后的页面效果:

asp.net中使用DatagridView的增删改方法具体实现