1. 前台页面:

    Default.aspx

 1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
 2
 3 <!DOCTYPE html>
 4
 5 <html xmlns="http://www.w3.org/1999/xhtml">
 6 <head runat="server">
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 8     <title>GridView用法</title>
 9 </head>
10 <body>
11     <form id="form1" runat="server">
12     <div>
13            <asp:GridView ID="gvUserInfo" runat="server"  AllowPaging="True" PageSize="4" OnSorting="gvUserInfo_Sorting" AllowSorting="true" AutoGenerateEditButton="true" OnRowDataBound="gvUserInfo_RowDataBound" OnRowEditing="gvUserInfo_RowEditing"  OnRowUpdating="gvUserInfo_RowUpdating" OnRowCancelingEdit="gvUserInfo_RowCancelingEdit" OnPageIndexChanging="gvUserInfo_PageIndexChanging" OnRowDeleting="gvUserInfo_RowDeleting" EnableModelValidation="True" CellPadding="4" ForeColor="#333333" GridLines="None" >
14              <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
15             <Columns>
16   <%--                    !!!  DataNavigateUrlFields属性是获取或设置数据源中字段的名称,用于为其超链接构造URL,其字段名称应为GridView中的数据字段名
17       --%>
18
19                 <asp:HyperLinkField  NavigateUrl="Info.aspx" DataNavigateUrlFields="用户编号" DataNavigateUrlFormatString="Info.aspx?userId={0}" Target="_blank" Text="详细信息"/>
20                <asp:TemplateField>
21                     <ItemTemplate>
22                         <asp:Button ID="btnDelete" runat="server"  CommandName="Delete"  Text="删除" CausesValidation="false" OnClientClick="return confirm('确定删除?')"  >
23                         </asp:Button>
24                     </ItemTemplate>
25                 </asp:TemplateField>
26             </Columns>
27             <EditRowStyle BackColor="#999999" />
28             <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
29             <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
30             <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
31             <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
32             <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
33         </asp:GridView>
34     </div>
35     </form>
36 </body>
37 </html>

info.aspx

 1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="info.aspx.cs" Inherits="info" %>
 2
 3 <!DOCTYPE html>
 4
 5 <html xmlns="http://www.w3.org/1999/xhtml">
 6 <head runat="server">
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 8     <title>用户详细信息</title>
 9 </head>
10 <body>
11     <form id="form1" runat="server">
12     <div>
13     <asp:Table runat="server" Caption="用户信息" >
14         <asp:TableRow>
15             <asp:TableCell>用户编号:</asp:TableCell>
16             <asp:TableCell>
17                 <asp:Label ID="lblUserId" runat="server" Text=""></asp:Label></asp:TableCell>
18         </asp:TableRow>
19         <asp:TableRow>
20             <asp:TableCell>性别:</asp:TableCell>
21             <asp:TableCell><asp:Label ID="lblSex" runat="server" Text=""></asp:Label></asp:TableCell>
22         </asp:TableRow>
23         <asp:TableRow>
24             <asp:TableCell>邮箱:</asp:TableCell>
25             <asp:TableCell><asp:Label ID="lblMail" runat="server" Text=""></asp:Label></asp:TableCell>
26         </asp:TableRow>
27     </asp:Table>
28         <asp:Button ID="btnExit" runat="server" Text="关闭窗口"  OnClientClick="javascript:window.opener=null;window.close();"/>
29     </div>
30     </form>
31 </body>
32 </html>

  1. 后台页面:

    Default.aspx.cs

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Web;
  4 using System.Web.UI;
  5 using System.Web.UI.WebControls;
  6 using System.Data;
  7 using System.Data.SqlClient;
  8
  9 public partial class _Default : System.Web.UI.Page
 10 {
 11     protected void Page_Load(object sender, EventArgs e)
 12     {
 13         if (!IsPostBack)
 14         {
 15             ViewState["SortOrder"] = "用户编号";
 16             ViewState["OrderDir"] = "DESC";
 17             dataBind();
 18         }
 19     }
 20
 21     /// <summary>
 22     ///   绑定数据库中的数据到GridView控件中
 23     /// </summary>
 24     protected void dataBind()
 25     {
 26         string conStr = System.Configuration.ConfigurationManager.ConnectionStrings["ConStr"].ToString();
 27         SqlConnection conn = new SqlConnection(conStr);
 28         if (conn.State == ConnectionState.Closed)
 29         {
 30             conn.Open();
 31         }
 32        // string strSql = "select userId,userName  from tabUserInfo";
 33         string strSql = "select userId as 用户编号,userName as 用户名  from tabUserInfo";
 34         SqlDataAdapter da = new SqlDataAdapter(strSql, conn);
 35         DataSet ds = new DataSet();
 36         da.Fill(ds, "tabUserInfo");
 37
 38         string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDir"];
 39         DataView view = ds.Tables["tabUserInfo"].DefaultView;
 40         view.Sort = sort;
 41
 42         gvUserInfo.DataSource = view;
 43         gvUserInfo.DataKeyNames = new string[]{"用户编号"};
 44         gvUserInfo.DataBind();
 45
 46         //对特定数据用特定的显示方式
 47         for (int i = 0; i < gvUserInfo.Rows.Count; i++)
 48         {
 49             DataRowView myDrv = ds.Tables["tabUserInfo"].DefaultView[i];
 50             string id = myDrv["用户编号"].ToString();
 51             if (Convert.ToInt32(id) < 5)
 52             {
 53                 gvUserInfo.Rows[i].Cells[4].BackColor = System.Drawing.Color.Red;
 54             }
 55         }
 56         if (conn.State == ConnectionState.Open)
 57         {
 58             conn.Close();
 59         }
 60     }
 61
 62     /// <summary>
 63     /// 实现分页功能
 64     /// </summary>
 65     /// <param name="sender"></param>
 66     /// <param name="e"></param>
 67     protected void gvUserInfo_PageIndexChanging(object sender, GridViewPageEventArgs e)
 68     {
 69         gvUserInfo.PageIndex = e.NewPageIndex;
 70         dataBind();
 71     }
 72
 73
 74     /// <summary>
 75     /// 删除GridView中数据
 76     /// </summary>
 77     /// <param name="sender"></param>
 78     /// <param name="e"></param>
 79     protected void gvUserInfo_RowDeleting(object sender, GridViewDeleteEventArgs e)
 80     {
 81         SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConStr"].ToString());
 82         string strSql = "delete from tabUserInfo where userId=" +gvUserInfo.DataKeys[e.RowIndex].Value.ToString()+ "";
 83         conn.Open();
 84         SqlCommand cmd = new SqlCommand(strSql, conn);
 85         if (cmd.ExecuteNonQuery() > 0)
 86             Response.Write("<script>alert('删除成功!')</script>");
 87         else
 88             Response.Write("<script>alert('删除失败!')</script>");
 89         conn.Close();
 90         dataBind();
 91     }
 92     /// <summary>
 93     /// 编辑GridView中的数据
 94     /// </summary>
 95     /// <param name="sender"></param>
 96     /// <param name="e"></param>
 97     protected void gvUserInfo_RowEditing(object sender, GridViewEditEventArgs e)
 98     {
 99         gvUserInfo.EditIndex = e.NewEditIndex;
100         dataBind();
101     }
102     /// <summary>
103     ///更改数据并提交到数据库
104     /// </summary>
105     /// <param name="sender"></param>
106     /// <param name="e"></param>
107     protected void gvUserInfo_RowUpdating(object sender, GridViewUpdateEventArgs e)
108     {
109         string conStr = System.Configuration.ConfigurationManager.ConnectionStrings["ConStr"].ToString();
110         SqlConnection conn = new SqlConnection(conStr);
111         string strSql = "update tabUserInfo set userName='" + ((TextBox)(gvUserInfo.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim() + "' where userId=" + gvUserInfo.DataKeys[e.RowIndex].Value.ToString() + "";
112         //
113         conn.Open();
114         SqlCommand cmd = new SqlCommand(strSql, conn);
115         cmd.ExecuteNonQuery();
116         Response.Write("<script>alert('更改成功!')</script>");
117         conn.Close();
118         gvUserInfo.EditIndex = -1;
119         dataBind();
120     }
121     /// <summary>
122     /// 取消对GridView中数据的编辑
123     /// </summary>
124     /// <param name="sender"></param>
125     /// <param name="e"></param>
126     protected void gvUserInfo_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
127     {
128         gvUserInfo.EditIndex = -1;
129         dataBind();
130     }
131     /// <summary>
132     /// RowDataBound事件
133     /// </summary>
134     /// <param name="sender"></param>
135     /// <param name="e"></param>
136     protected void gvUserInfo_RowDataBound(object sender, GridViewRowEventArgs e)
137     {
138         //高亮显示鼠标指定行数据
139         if (e.Row.RowType == DataControlRowType.DataRow)
140         {
141             e.Row.Attributes.Add("onMouseOver", "Color=this.style.backgroundColor;this.style.backgroundColor='lightblue'");
142             e.Row.Attributes.Add("onMouseOut", "this.style.backgroundColor=Color;");
143         }
144     }
145     /// <summary>
146     /// 排序代码
147     /// </summary>
148     /// <param name="sender"></param>
149     /// <param name="e"></param>
150     protected void gvUserInfo_Sorting(object sender, GridViewSortEventArgs e)
151     {
152         string strPage = e.SortExpression;
153         if (ViewState["SortOrder"].ToString() == strPage)
154         {
155             if (ViewState["OrderDir"].ToString() == "DESC")
156             {
157                 ViewState["OrderDir"] = "ASC";
158             }
159             else
160             {
161                 ViewState["OrderDir"] = "DESC";
162             }
163         }
164         else
165         {
166             ViewState["SortOrder"] = e.SortExpression;
167         }
168         dataBind();
169     }
170 }

info.aspx.cs

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Web;
 4 using System.Web.UI;
 5 using System.Web.UI.WebControls;
 6 using System.Data;
 7 using System.Data.SqlClient;
 8
 9 public partial class info : System.Web.UI.Page
10 {
11     protected void Page_Load(object sender, EventArgs e)
12     {
13         if (!IsPostBack)
14         {
15             dataBind();
16         }
17     }
18
19     protected void dataBind()
20     {
21         string conStr=System.Configuration.ConfigurationManager.ConnectionStrings["ConStr"].ToString();
22         SqlConnection conn = new SqlConnection(conStr);
23         if (conn.State == ConnectionState.Closed)
24         {
25             conn.Open();
26         }
27         string strSql = "select * from tabUserInfo where userId="+Request["userId"].ToString()+";";
28         SqlDataAdapter da = new SqlDataAdapter(strSql, conn);
29         DataSet ds = new DataSet();
30         da.Fill(ds, "tabInfo");
31         DataRowView rowView = ds.Tables["tabInfo"].DefaultView[0];
32         lblUserId.Text = Convert.ToString(rowView["userId"]);
33         lblSex.Text = Convert.ToString(rowView["userSex"]);
34         lblMail.Text = Convert.ToString(rowView["userMail"]);
35
36         if (conn.State == ConnectionState.Open)
37         {
38             conn.Close();
39         }
40     }
41 }

转载于:https://www.cnblogs.com/weihanli/p/3496022.html

GridView用法详解相关推荐

  1. Asp.net中GridView使用详解(引)【转】

    Asp.net中GridView使用详解(引) GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList ...

  2. python argv 详解_Python3 sys.argv[ ]用法详解

    sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个"外部"很关键,因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可 ...

  3. oracle中的exists 和 not exists 用法详解

    from:http://blog.sina.com.cn/s/blog_601d1ce30100cyrb.html oracle中的exists 和 not exists 用法详解 (2009-05- ...

  4. ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多)

    ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多) https://blog.csdn.net/qq_25221835/article/details/82762416 post ...

  5. python的继承用法_【后端开发】python中继承有什么用法?python继承的用法详解

    本篇文章给大家带来的内容是关于python中继承有什么用法?python继承的用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 面向对象三大特征 1.封装:根据职责将属性和方法 ...

  6. C++中substr()函数用法详解

    C++中substr()函数用法详解 原型: string substr (size_t pos = 0, size_t len = npos) const; 返回一个新构造的string对象,其值初 ...

  7. php theme_path,PHP_Yii2主题(Theme)用法详解,本文实例讲述了Yii2主题(Theme) - phpStudy

    Yii2主题(Theme)用法详解 本文实例讲述了Yii2主题(Theme)用法.分享给大家供大家参考,具体如下: 首先看看主要的配置方式: 'components' => [ 'view' = ...

  8. LayoutInflater的inflate函数用法详解

    LayoutInflater的inflate函数用法详解 LayoutInflater作用是将layout的xml布局文件实例化为View类对象. 获取LayoutInflater的方法有如下三种: ...

  9. Ext.Net学习笔记22:Ext.Net Tree 用法详解

    上面的图片是一个简单的树,使用Ext.Net来创建这样的树结构非常简单,代码如下: <ext:TreePanel runat="server"><Root> ...

最新文章

  1. Docker入门六部曲——Swarm
  2. 【Whalepaper】CV论文研读 - OneNet:Towards End-to-End One-Stage Object Detection
  3. JAVA SE 学习day_10:集合、聊天室练习最终版
  4. 【Machine Learning】OpenCV中的K-means聚类
  5. CentOS修改yum源为阿里云
  6. 5.[BX]和Loop指令
  7. c语言入门数据类型详解,C语言的基本数据类型入门教程
  8. 最详细 Spring Boot 入门(-)
  9. numpy - np.append
  10. 全网首发:JDK绘制文字:五、字体上下文产生流程
  11. 微信开发刷新网页code过期
  12. mysql图书管理系统er图,图书管理系统er图.doc
  13. es7.3.2中文+拼音分词 排除同音字
  14. js 解二元一次方程组(消元法)
  15. CSS 字体大小 font-size属性
  16. 洞悉人性的职场沟通技术
  17. 测试温度时共模电压的考虑
  18. 基于opencv的BackgroundSubtractorMOG2和BackgroundSubtractorKNN通过背景减除来实现目标追踪
  19. 开车的26条教训!开车的人一定看看!
  20. 关闭outlook express系统提示压缩邮件导致邮件丢失

热门文章

  1. Tomcat SSL/HTTPS 单向认证
  2. php判断ie版本,PHP获取浏览器版本信息
  3. python接口自动化测试框架unittest代码_Python+unittest+requests 接口自动化测试框架搭建教程...
  4. php 不支持无符号整数,是否可以使用大型无符号int64而不会在PHP中失去精度?
  5. 数据备份_这5种数据备份方式你全都了解吗?
  6. java类描述_java笔记2:Java语言中的类和对象的描述
  7. 纯文本邮件转为html,将纯文本电子邮件转换为HTML邮件
  8. dederss.php美国与,Dede经验:全站rss/连载和分类首页模板替换
  9. 八、朴素贝叶斯中文分类实战
  10. VIP到131970年过期就离谱~