zoukankan
html css js c++ java
[Transfer]DataList 自定义分页 (C#)
Source:
http://www.cnblogs.com/youxia/archive/2006/08/14/476815.html
http://www.net0791.com/article/100997.htm
http://www.xker.com/Html/bcyy/net/2006_04_03_07_886_5.html
<%
@ Page Language
=
"
C#
"
%>
<%
@ Import Namespace
=
"
System.Data
"
%>
<%
@ Import Namespace
=
"
System.Data.OleDb
"
%>
<
Script Language
=
"
C#
"
Runat
=
"
Server
"
>
/**/
/*
Create By 飞刀
http://www.aspcn.com
2001-7-25 01:44
Support .Net Framework Beta 2
*/
OleDbConnection MyConn;
int
PageSize,RecordCount,PageCount,CurrentPage;
public
void
Page_Load(Object src,EventArgs e)
{
//
设定PageSize
PageSize
=
10
;
//
连接语句
string
MyConnString
=
"
Provider=Microsoft.Jet.OLEDB.4.0; Data Source=
"
+
Server.MapPath(
"
.
"
)
+
"
..\\DataBase\\db1.mdb;
"
;
MyConn
=
new
OleDbConnection(MyConnString);
MyConn.Open();
//
第一次请求执行
if
(
!
Page.IsPostBack)
{
ListBind();
CurrentPage
=
0
;
ViewState[
"
PageIndex
"
]
=
0
;
//
计算总共有多少记录
RecordCount
=
CalculateRecord();
lblRecordCount.Text
=
RecordCount.ToString();
//
计算总共有多少页
PageCount
=
RecordCount
/
PageSize;
lblPageCount.Text
=
PageCount.ToString();
ViewState[
"
PageCount
"
]
=
PageCount;
}
}
//
计算总共有多少条记录
public
int
CalculateRecord()
{
int
intCount;
string
strCount
=
"
select count(*) as co from Score
"
;
OleDbCommand MyComm
=
new
OleDbCommand(strCount,MyConn);
OleDbDataReader dr
=
MyComm.ExecuteReader();
if
(dr.Read())
{
intCount
=
Int32.Parse(dr[
"
co
"
].ToString());
}
else
{
intCount
=
0
;
}
dr.Close();
return
intCount;
}
ICollection CreateSource()
{
int
StartIndex;
//
设定导入的起终地址
StartIndex
=
CurrentPage
*
PageSize;
string
strSel
=
"
select * from Score
"
;
DataSet ds
=
new
DataSet();
OleDbDataAdapter MyAdapter
=
new
OleDbDataAdapter(strSel,MyConn);
MyAdapter.Fill(ds,StartIndex,PageSize,
"
Score
"
);
return
ds.Tables[
"
Score
"
].DefaultView;
}
public
void
ListBind()
{
score.DataSource
=
CreateSource();
score.DataBind();
lbnNextPage.Enabled
=
true
;
lbnPrevPage.Enabled
=
true
;
if
(CurrentPage
==
(PageCount
-
1
)) lbnNextPage.Enabled
=
false
;
if
(CurrentPage
==
0
) lbnPrevPage.Enabled
=
false
;
lblCurrentPage.Text
=
(CurrentPage
+
1
).ToString();
}
public
void
Page_OnClick(Object sender,CommandEventArgs e)
{
CurrentPage
=
(
int
)ViewState[
"
PageIndex
"
];
PageCount
=
(
int
)ViewState[
"
PageCount
"
];
string
cmd
=
e.CommandName;
//
判断cmd,以判定翻页方向
switch
(cmd)
{
case
"
next
"
:
if
(CurrentPage
<
(PageCount
-
1
)) CurrentPage
++
;
break
;
case
"
prev
"
:
if
(CurrentPage
>
0
) CurrentPage
--
;
break
;
}
ViewState[
"
PageIndex
"
]
=
CurrentPage;
ListBind();
}
</
script
>
<
html
>
<
head
>
<
title
></
title
>
</
head
>
<
body
>
<
form runat
=
"
server
"
>
共有
<
asp:Label id
=
"
lblRecordCount
"
ForeColor
=
"
red
"
runat
=
"
server
"
/>
条记录
当前为
<
asp:Label id
=
"
lblCurrentPage
"
ForeColor
=
"
red
"
runat
=
"
server
"
/>/<
asp:Label id
=
"
lblPageCount
"
ForeColor
=
"
red
"
runat
=
"
server
"
/>
页
<
asp:DataList id
=
"
score
"
runat
=
"
server
"
HeaderStyle
-
BackColor
=
"
#aaaadd
"
AlternatingItemStyle
-
BackColor
=
"
Gainsboro
"
EditItemStyle
-
BackColor
=
"
yellow
"
>
<
ItemTemplate
>
姓名:
<%
# DataBinder.Eval(Container.DataItem,
"
Name
"
)
%>
<
asp:LinkButton id
=
"
btnSelect
"
Text
=
"
编辑
"
CommandName
=
"
edit
"
runat
=
"
server
"
/>
</
ItemTemplate
>
</
asp:DataList
>
<
asp:LinkButton id
=
"
lbnPrevPage
"
Text
=
"
上一页
"
CommandName
=
"
prev
"
OnCommand
=
"
Page_OnClick
"
runat
=
"
server
"
/>
<
asp:LinkButton id
=
"
lbnNextPage
"
Text
=
"
下一页
"
CommandName
=
"
next
"
OnCommand
=
"
Page_OnClick
"
runat
=
"
server
"
/>
</
form
>
</
body
>
</
html
>
查看全文
相关阅读:
mysql 内联接、左联接、右联接、完全联接、交叉联接 区别
JS 时间字符串与时间戳之间的转换
MySQL性能优化的最佳20条经验
++i 与 i++ 的区别
=== 与 == 区别
SC命令创建和删除windows服务
杂记
linux 文件编程
u-boot 启动过程
简单冒泡法
原文地址:https://www.cnblogs.com/apiapia/p/655145.html
最新文章
使用dom4j实现java解析XML实例
log4j使用及相关说明
概率图论模型(probabilistic graphical model)的由来—— 它的本质是什么
week1 Bayesian Network Fundamentals
<转> Intel VTune分析结果中的名词释译
ANSI转UTF-8中文无乱码解决方案
(转)Vim练级攻略
SQLite header and source version mismatch解决方案
VSX(翻译)Moving Code Blocks Among Code Regions using VS 2010 Extensions
Python调用中科院NLPIR(ICTCLAS2015)详解 刘超(lch614730@163.com)
热门文章
统计学习方法(Machine Learning)------- 第1章 统计学习方法概论
文件夹比较 java递归比较文件夹
Git基本操作
mongodb 内建角色与权限
mongodb 2.6.6 权限管理
新浪sina.cn邮箱注册python版
使用Word2007发布cnblogs文章
今天可以说是我第一次真正开始写博客
使用for循环打印矩形和三角形、菱形、空心菱形
mysql 删除表中的某列的重复字段
Copyright © 2011-2022 走看看