zoukankan
html css js c++ java
ASP.NET GridView,DataList,Repeater的通用分页
using
System;
using
System.Collections;
using
System.ComponentModel;
using
System.Data;
using
System.Data.SqlClient;
using
System.Web;
using
System.Web.SessionState;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.HtmlControls;
namespace
ustonetdonet.DotNetPagedData
{
/**/
///
<summary>
///
本类提供GridView,DataList,Repeater的通用分页
///
参考了NetFire(Fire.Rolland.Han)
http://netfire.my.gsdn.net/2005/04/04/2945/
///
///
///
使用方法:
///
1.在引用里添加dll的引用
///
2.using ustonetdonet.DotNetPagedData;
///
3.private DotNetPagedData pager;
///
4.page_load()
///
if(!IsPostBack)
///
{
///
pager=new DotNetPagedData();
///
pager.PagedPanel=this.pagedPanel;
///
pager.GridView = this.GridView1; //如果是DataGrid则添加此项
///
pager.Datalist=this.DataList1; //如果是DataList则添加此项
///
pager.Repeater=this.Repeater1; //如果是Repeater则添加此项
///
pager.Lnknext=this.lnkNext;
///
pager.Lnkprev=this.lnkPrev;
///
pager.Lnklast=this.lnklast;
///
pager.Lnkfist=this.lnkfist;
///
pager.Pagenum=this.Pagenum;
///
pager.Pagecount=this.Pagecount;
///
pager.List=this.ddl_jump;
///
//简单示例定义DataSet外部定义,同样也可以采用执行sqlstr,并填充给DataSet,本类也重载了datapage(),详细信息可查看详细代码
///
DataSet ds=new DataSet();
///
ds.ReadXml(Server.MapPath("test.xml"));
///
pager.datapage(ds,5);
///
}
///
///
// DropDownList必须设定为AutoPostBack,下面添加它的事件
///
5.private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
///
{
///
pager=new DotNetPagedData();
///
pager.List=this.DropDownList1;
///
pager.Lnkjump=this.HyperLink3;
///
pager.select();
///
}
///
</summary>
public
class
DotNetPagedData : System.Web.UI.Page
{
private
System.Web.UI.WebControls.GridView gridview
=
null
;
private
System.Web.UI.WebControls.DataList datalist
=
null
;
private
System.Web.UI.WebControls.Repeater repeater
=
null
;
private
System.Web.UI.WebControls.HyperLink lnknext;
private
System.Web.UI.WebControls.HyperLink lnkprev;
private
System.Web.UI.WebControls.HyperLink lnkfist;
private
System.Web.UI.WebControls.HyperLink lnklast;
private
System.Web.UI.WebControls.HyperLink lnkjump;
private
System.Web.UI.WebControls.Label pagenum;
private
System.Web.UI.WebControls.Label pagecount;
private
System.Web.UI.WebControls.Panel pagedPanel;
private
System.Web.UI.WebControls.DropDownList list;
public
DotNetPagedData()
{
//
//
TODO: 在此处添加构造函数逻辑
//
}
public
System.Web.UI.WebControls.GridView GridView
{
get
{
return
this
.gridview;
}
set
{
this
.gridview
=
value;
}
}
public
System.Web.UI.WebControls.DataList Datalist
{
get
{
return
this
.datalist;
}
set
{
this
.datalist
=
value;
}
}
public
System.Web.UI.WebControls.Repeater Repeater
{
get
{
return
this
.repeater;
}
set
{
this
.repeater
=
value;
}
}
public
System.Web.UI.WebControls.HyperLink Lnkprev
{
get
{
return
this
.lnkprev;
}
set
{
this
.lnkprev
=
value;
}
}
public
System.Web.UI.WebControls.HyperLink Lnknext
{
get
{
return
this
.lnknext;
}
set
{
this
.lnknext
=
value;
}
}
public
System.Web.UI.WebControls.HyperLink Lnkfist
{
get
{
return
this
.lnkfist;
}
set
{
this
.lnkfist
=
value;
}
}
public
System.Web.UI.WebControls.HyperLink Lnklast
{
get
{
return
this
.lnklast;
}
set
{
this
.lnklast
=
value;
}
}
public
System.Web.UI.WebControls.HyperLink Lnkjump
{
get
{
return
this
.lnkjump;
}
set
{
this
.lnkjump
=
value;
}
}
public
System.Web.UI.WebControls.Label Pagenum
{
get
{
return
this
.pagenum;
}
set
{
this
.pagenum
=
value;
}
}
public
System.Web.UI.WebControls.Label Pagecount
{
get
{
return
this
.pagecount;
}
set
{
this
.pagecount
=
value;
}
}
public
System.Web.UI.WebControls.DropDownList List
{
get
{
return
this
.list;
}
set
{
this
.list
=
value;
}
}
public
System.Web.UI.WebControls.Panel PagedPanel
{
get
{
return
this
.pagedPanel;
}
set
{
this
.pagedPanel
=
value;
}
}
//
针对一般数据邦定,不执行sqlstr
public
void
datapage(DataSet ds,
int
pagenum)
{
PagedDataSource objPds
=
new
PagedDataSource();
objPds.AllowPaging
=
true
;
//
每页显示数目
objPds.PageSize
=
pagenum;
//
指定数据源
objPds.DataSource
=
ds.Tables[
0
].DefaultView;
int
CurPage;
//
绑定dropdownlist数据
for
(
int
i
=
1
; i
<=
objPds.PageCount; i
++
)
{
this
.list.Items.Add(i.ToString());
}
this
.list.Items.Insert(
0
,
new
ListItem(
"
页数
"
,
""
));
//
确定当前页数
if
(System.Web.HttpContext.Current.Request.Params[
"
Page
"
]
!=
null
)
{
CurPage
=
Convert.ToInt32(System.Web.HttpContext.Current.Request.Params[
"
Page
"
]);
}
else
{
CurPage
=
1
;
}
objPds.CurrentPageIndex
=
CurPage
-
1
;
if
(objPds.PageCount
>
1
)
{
pagedPanel.Visible
=
true
;
}
else
{
pagedPanel.Visible
=
false
;
}
//
显示当前页数
this
.pagenum.Text
=
"
当前:
"
+
CurPage.ToString()
+
"
页
"
;
//
显示总共页数
this
.pagecount.Text
=
"
共有
"
+
objPds.PageCount
+
"
页
"
;
//
下一页
if
(
!
objPds.IsLastPage)
{
lnknext.NavigateUrl
=
System.Web.HttpContext.Current.Request.CurrentExecutionFilePath
+
"
?Page=
"
+
Convert.ToString(CurPage
+
1
);
}
//
上一页
if
(
!
objPds.IsFirstPage)
{
lnkprev.NavigateUrl
=
System.Web.HttpContext.Current.Request.CurrentExecutionFilePath
+
"
?Page=
"
+
Convert.ToString(CurPage
-
1
);
}
//
第一页
if
(CurPage
!=
1
)
{
lnkfist.NavigateUrl
=
System.Web.HttpContext.Current.Request.CurrentExecutionFilePath
+
"
?Page=
"
+
Convert.ToString(
1
);
}
//
最后一页
if
(CurPage
!=
objPds.PageCount)
{
lnklast.NavigateUrl
=
System.Web.HttpContext.Current.Request.CurrentExecutionFilePath
+
"
?Page=
"
+
Convert.ToString(objPds.PageCount);
}
//
绑定gridview
if
(
this
.gridview
!=
null
)
{
gridview.DataSource
=
objPds;
gridview.DataBind();
}
//
绑定datalist
if
(
this
.datalist
!=
null
)
{
datalist.DataSource
=
objPds;
datalist.DataBind();
}
//
绑定repeater
if
(
this
.repeater
!=
null
)
{
repeater.DataSource
=
objPds;
repeater.DataBind();
}
}
//
重载,针对执行sqlstr
public
void
datapage(
string
sqlcon,
string
sqlstr,
int
pagenum)
{
SqlConnection objConn
=
new
SqlConnection(sqlcon);
SqlDataAdapter objCommand
=
new
SqlDataAdapter(sqlstr, objConn);
DataSet ds
=
new
DataSet();
objCommand.Fill(ds);
PagedDataSource objPds
=
new
PagedDataSource();
objPds.AllowPaging
=
true
;
//
每页显示数目
objPds.PageSize
=
pagenum;
//
指定数据源
objPds.DataSource
=
ds.Tables[
0
].DefaultView;
int
CurPage;
//
绑定dropdownlist数据
for
(
int
i
=
1
; i
<=
objPds.PageCount; i
++
)
{
this
.list.Items.Add(i.ToString());
}
this
.list.Items.Insert(
0
,
new
ListItem(
"
页数
"
,
""
));
//
确定当前页数
if
(System.Web.HttpContext.Current.Request.Params[
"
Page
"
]
!=
null
)
{
CurPage
=
Convert.ToInt32(System.Web.HttpContext.Current.Request.Params[
"
Page
"
]);
}
else
{
CurPage
=
1
;
}
objPds.CurrentPageIndex
=
CurPage
-
1
;
if
(objPds.PageCount
>
1
)
{
pagedPanel.Visible
=
true
;
}
else
{
pagedPanel.Visible
=
false
;
}
//
显示当前页数
this
.pagenum.Text
=
"
当前:
"
+
"
第
"
+
CurPage.ToString()
+
"
页
"
;
//
显示总共页数
this
.pagecount.Text
=
"
共有
"
+
objPds.PageCount
+
"
页
"
;
//
下一页
if
(
!
objPds.IsLastPage)
{
lnknext.NavigateUrl
=
System.Web.HttpContext.Current.Request.CurrentExecutionFilePath
+
"
?Page=
"
+
Convert.ToString(CurPage
+
1
);
}
//
上一页
if
(
!
objPds.IsFirstPage)
{
lnkprev.NavigateUrl
=
System.Web.HttpContext.Current.Request.CurrentExecutionFilePath
+
"
?Page=
"
+
Convert.ToString(CurPage
-
1
);
}
//
第一页
if
(CurPage
!=
1
)
{
lnkfist.NavigateUrl
=
System.Web.HttpContext.Current.Request.CurrentExecutionFilePath
+
"
?Page=
"
+
Convert.ToString(
1
);
}
//
最后一页
if
(CurPage
!=
objPds.PageCount)
{
lnklast.NavigateUrl
=
System.Web.HttpContext.Current.Request.CurrentExecutionFilePath
+
"
?Page=
"
+
Convert.ToString(objPds.PageCount);
}
//
绑定gridview
if
(
this
.gridview
!=
null
)
{
gridview.DataSource
=
objPds;
gridview.DataBind();
}
//
绑定datalist
if
(
this
.datalist
!=
null
)
{
datalist.DataSource
=
objPds;
datalist.DataBind();
}
//
绑定repeater
if
(
this
.repeater
!=
null
)
{
repeater.DataSource
=
objPds;
repeater.DataBind();
}
}
//
dropdownlist选择改变
public
void
select()
{
this
.lnkjump.NavigateUrl
=
System.Web.HttpContext.Current.Request.CurrentExecutionFilePath
+
"
?Page=
"
+
Convert.ToString(
this
.list.SelectedItem.Value);
}
}
}
查看全文
相关阅读:
php连接mysql数据库基础
控制操作
巨慢IE9的加速
推广邮件客户端(二):完美的IMAP客户端
XPath 和 LINQ to XML 的比较
推广邮件客户端(三):常用IMAP客户端介绍
关于Git工具与GitHub
Android开源项目(非组件)
windows下使用Git获取Android源码
Eclipse导入项目:No projects are found to import
原文地址:https://www.cnblogs.com/jiangyuxuan/p/842349.html
最新文章
SQL游标原理和使用方法
nvarchar与varchar的区别
转 asp.net webservices 上传下载文件
几个有用的SQL函数
c#缓存介绍(转)
软件项目价格评估书
如何高效的将excel导入sqlserver?
access中case替代方法
SQL中DATEADD和DATEDIFF的用法
如何做好需求变更管理——需求变更流程规范
热门文章
简单递归____判断一个字符串是否为回文
消除原理____假设数组中有一个数字出现的次数超过了数组长度的一半,试编程找出这个数字(qosrt 快速排序 哈希)
含羞默默一张一合效果田
前端——旋转的地球
mysql基本操作
css遮罩
js连连看
jquery 动画
遮罩效果的焦点图
含羞默默一张一合效果
Copyright © 2011-2022 走看看