程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> .net中使用DatagridView的增刪改方法

.net中使用DatagridView的增刪改方法

編輯:關於ASP.NET

     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) + "行。";
    }
    }
    }
    執行後的頁面效果:

     

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved