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
>
查看全文
相关阅读:
ExIco应用程序图标保存器1.0发布
Object.defineProperty
es6代理 proxy 学习
node js学习记录
css默认值列表
关于 keyup keydown keypress
转载一篇关于css选择器的,很透彻
......图片上传
mimi
css 开发心得
原文地址:https://www.cnblogs.com/apiapia/p/655145.html
最新文章
第四章、深入理解vue组件
深克隆浅克隆
Vue封装注册全局的组件
es6解构
webpack4 之html-webpack-plugin
vue详解
vue.use
Nginx
手机话费充值数据接口 话费充值功能接入
移动联通基站接口以及电信基站接口分享
热门文章
国内最受欢迎的7大API供应平台对比和介绍
人生的价值在于对社会有用
我自己的一些对计算机技术和电子技术的想法
科技的未来
无尽的未来
年轻人迷恋游戏是不对的
CSys 128位CPU及计算机模拟与中英文双语编程环境
GEditor 2.0 介绍
颜色找找看MatchQ 1.0
电子与微电子工业版图编辑器GEditor1.0
Copyright © 2011-2022 走看看