GridView自带的分页功能实现:
要实现GrdView分页的功能
操作如下:
-
更改GrdView控件的AllowPaging属性为true。
-
更改GrdView控件的PageSize属性为 任意数值(默认为10)
-
更改GrdView控件的PageSetting->Mode为Numeric等(默认为Numeric)该属性为分页样式。
GridView属性设置好了,从页面上也能看到分页样式。
现在开始实现分页的功能:
-
在<<asp:GridView ID=......>后添加,OnPageIndexChanging="GridView1_PageIndexChanging"
-
在对应的aspx.cs中添加:
1
2
3
4
5
|
protected void GridView1_PageIndexChanging( object sender, GridViewPageEventArgs e) { GridView1.PageIndex = e.NewPageIndex; InitPage(); //重新绑定GridView数据的函数 } |
参考代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="gridview_zidaifenye.aspx.cs" Inherits="gridview_zidaifenye" %> <!DOCTYPE html> < html xmlns = "http://www.w3.org/1999/xhtml" > < head runat = "server" > < meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" /> < title ></ title > </ head > < body > < form id = "form1" runat = "server" > < div > < asp:GridView ID = "GridView1" runat = "server" AllowPaging = "True" AllowSorting = "True" AutoGenerateColumns = "False" DataKeyNames = "ID" PagerSettings-Mode = "Numeric" OnRowDataBound = "GridView1_RowDataBound" PageSize = "5" OnPageIndexChanging = "GridView1_PageIndexChanging" > < Columns > < asp:BoundField DataField = "ID" HeaderText = "ID" InsertVisible = "False" ReadOnly = "True" SortExpression = "ID" /> < asp:BoundField DataField = "Name" HeaderText = "Name" SortExpression = "Name" /> < asp:BoundField DataField = "Stock" HeaderText = "Stock" SortExpression = "Stock" /> </ Columns > </ asp:GridView > 每页显示< asp:DropDownList ID = "DropDownList1" runat = "server" AutoPostBack = "True" OnSelectedIndexChanged = "DropDownList1_SelectedIndexChanged" > < asp:ListItem >5</ asp:ListItem > < asp:ListItem >10</ asp:ListItem > < asp:ListItem >15</ asp:ListItem > </ asp:DropDownList > 条记录 < asp:Label ID = "lblMsg" runat = "server" ></ asp:Label > </ div > </ form > </ body > </ html > |
后台代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class gridview_zidaifenye : System.Web.UI.Page { DBAccess db = new DBAccess(); protected void Page_Load( object sender, EventArgs e) { if (!IsPostBack) { // gvProduct.DataSource = getData(); // gvProduct.DataBind(); BindGrid(); } } public void BindGrid() { SqlCommand comm = db.CreateCommand( "select * from product p,Uuser u where p.userid=u.id" ); SqlDataAdapter sda = new SqlDataAdapter(); sda.SelectCommand = comm; DataSet ds = new DataSet(); sda.Fill(ds, "Datatable" ); DataView dv = ds.Tables[0].DefaultView; GridView1.DataSource = dv; GridView1.DataBind(); } protected void DropDownList1_SelectedIndexChanged( object sender, EventArgs e) { GridView1.PageSize = int .Parse(DropDownList1.SelectedValue); GridView1.PageIndex = 0; BindGrid(); //GridView1.DataBind(); } protected void GridView1_RowDataBound( object sender, GridViewRowEventArgs e) { lblMsg.Text = "当前页为第" + (GridView1.PageIndex + 1).ToString() + "页,共" + (GridView1.PageCount).ToString() + "页" ; } protected void GridView1_PageIndexChanging( object sender, GridViewPageEventArgs e) { GridView1.PageIndex = ((GridViewPageEventArgs)e).NewPageIndex; BindGrid(); //重新绑定GridView数据的函数 } } |
总结下,方便以后用到。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持服务器之家!
原文链接:http://www.cnblogs.com/jycboy/p/5172380.html