zoukankan      html  css  js  c++  java
  • 【ADO.NET基础-GridView】GridView的编辑、更新、取消、删除以及相关基础操作代码

    代码都是基础操作,后续功能还会更新,如有问题欢迎提出和提问.......

    前台代码:

    <asp:GridView ID="GridView1" runat="server" BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" AutoGenerateColumns="False" CellPadding="3" CellSpacing="1" GridLines="None" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" OnSelectedIndexChanged="Page_Load" DataKeyNames="SID" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" PageSize="8" OnRowDataBound="GridView1_RowDataBound"  >
                 
                   <FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
                  <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF" />
                   <PagerSettings Mode="NumericFirstLast" />
                  <PagerStyle BackColor="#C6C3C6" ForeColor="Black" HorizontalAlign="Right" />
                  <RowStyle BackColor="#DEDFDE" ForeColor="Black" />          
                  <SortedAscendingCellStyle BackColor="#F1F1F1" />
                  <SortedAscendingHeaderStyle BackColor="#594B9C" />
                  <SortedDescendingCellStyle BackColor="#CAC9C9" />
                  <SortedDescendingHeaderStyle BackColor="#33276A" />
                  <Columns>
                       <asp:BoundField DataField="password" HeaderText="编号" ReadOnly="true" />
                       <asp:BoundField DataField="SID" HeaderText="学号" ReadOnly="true" />
                       <asp:BoundField DataField="name" HeaderText="姓名"  ControlStyle-Width="100"/>
                       <asp:BoundField DataField="sex" HeaderText="性别"  ControlStyle-Width="30"/>
                      <asp:BoundField DataField="age" HeaderText="年龄" ControlStyle-Width="30"/>
                       <asp:BoundField DataField="address" HeaderText="地址"  ControlStyle-Width="250"/>
                       <asp:BoundField DataField="phone" HeaderText="电话"  ControlStyle-Width="70"/>
                       <asp:BoundField DataField="qq" HeaderText="QQ" ControlStyle-Width="70"/>
                       <asp:BoundField DataField="time" HeaderText="注册时间"  HtmlEncode="false" DataFormatString="{0:yyyy-M-dd}" ReadOnly="true"/>
                     <asp:CommandField ButtonType="Button" HeaderText="操作" ShowDeleteButton="True" ShowEditButton="True"/>
    
                  </Columns>
                 
              </asp:GridView>

    后台代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.SqlClient;
    using System.Configuration;
    using System.Data;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    
    namespace ado.netDemo1
    {
        public partial class Test1 : System.Web.UI.Page
        {
            SqlConnection connStr = new SqlConnection(ConfigurationManager.ConnectionStrings["connStr"].ToString());
            protected void Page_Load(object sender, EventArgs e)
            {
                //string connStr = ConfigurationManager.ConnectionStrings["connStr"].ToString();
                //SqlConnection conn = new SqlConnection(connStr);
                //conn.Open();
                //string sql = "select * from tb_Students";
                //SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
                //DataSet dataset = new DataSet();
                //adapter.Fill(dataset);
                //conn.Close();
                //GridView1.DataSource = dataset.Tables[0].ToString();
                //GridView1.DataBind();
    
                if(!IsPostBack)
                {
                    shuaxin();
                }
                
            }
    
            //刷新数据
            private void shuaxin()
    
            {
    
    
    
                connStr.Open();
                string sql = "select * from tb_Students";
                SqlDataAdapter da = new SqlDataAdapter(sql, connStr);
                DataSet ds = new DataSet();
                da.Fill(ds);
                if (ds.Tables[0].Rows.Count > 0)
    
                {
    
                    GridView1.DataSource = ds;
                  
                    GridView1.DataBind();
    
                }
                GridView1.DataKeyNames = new string[] { "SID" };
                connStr.Close();
    
            }
    
            //编辑
            protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
            {
                GridView1.EditIndex = e.NewEditIndex;
                shuaxin();
            }
            //取消编辑
            protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
            {
                GridView1.EditIndex = -1;
                shuaxin();
            }
            //更新
            protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
            {
                //( Name, Password, Sex, Age, Address, Phone, QQ)
                string sql = "update tb_Students set Name='"
                    +((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() +"',Sex='"
                    +((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "',Age='"
                    +((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim() + "',Address='"
                    +((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString().Trim() + "',Phone='"
                    +((TextBox)(GridView1.Rows[e.RowIndex].Cells[6].Controls[0])).Text.ToString().Trim() + "',QQ='"
                    +((TextBox)(GridView1.Rows[e.RowIndex].Cells[7].Controls[0])).Text.ToString().Trim() +"'where SID='"
                    + GridView1.DataKeys[e.RowIndex].Value.ToString().Trim()+ "'";
                connStr.Open();
                SqlCommand cmd = new SqlCommand(sql,connStr);
                int EXQ = cmd.ExecuteNonQuery();
                if (EXQ == 1)
                {
                    Response.Write("<script type=text/javascript>alert('更新成功!')</script>");
                }
                else
                {
                    Response.Write("<script type=text/javascript>alert('更新失败!')</script>");
                }
                connStr.Close();
                GridView1.EditIndex = -1;
                shuaxin();
    
    
            }
    
            //删除
            protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
            {
               
                string sql = "delete from tb_Students where SID='"+GridView1.DataKeys[e.RowIndex].Value.ToString()+"'";
                connStr.Open();
                SqlCommand cmd = new SqlCommand(sql,connStr);
                int EXQ = cmd.ExecuteNonQuery();
                if (EXQ == 1)
                {
                    Response.Write("<script type=text/javascript>alert('删除成功!')</script>");
                }
                else
                {
                    Response.Write("<script type=text/javascript>alert('删除失败!')</script>");
                }
                connStr.Close();
                shuaxin();
                
    
            }
            //分页
            protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
            {
                shuaxin();
                GridView1.PageIndex = e.NewPageIndex;
                GridView1.DataBind();
            }
            //编号
            protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
            {
    
                //编号以及鼠标经过的背景更改
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    ////鼠标经过时,行背景色变
                    e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#95CACA'");
                    ////鼠标移出时,行背景色变
                    e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#F0F0F0'");
    
                    ////当有编辑列时,避免出错,要加的RowState判断
                    //if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
                    //{
                    // ((LinkButton)e.Row.Cells[6].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除:/"" + e.Row.Cells[1].Text + "/"吗?')");
                    //}
    
                }
                if (e.Row.RowIndex != -1)
                {
                    int id = e.Row.RowIndex + 1;
                    e.Row.Cells[0].Text = id.ToString();
                }
    
            }
    
        }
    }

    运行截图:

  • 相关阅读:
    Winget
    全部所学知识
    重装系统
    srs更改端口号导致webrtc播放异常
    .NET性能优化方面的总结(转)
    从自动变换页面背景CSS改写成变换背景图
    网页级在线性能网站测试介绍
    ASP.NET服务器端控件学习(一)
    Nginx源码分析内存池
    使用Memcached提高.NET应用程序的性能
  • 原文地址:https://www.cnblogs.com/888888CN/p/7127354.html
Copyright © 2011-2022 走看看