.net中使用DatagridView的增删改方法
2014-08-29来源:易贤网

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>

/// </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>");

}

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) + "行。";

}

}

}

执行后的页面效果:

更多信息请查看IT技术专栏

推荐信息