zoukankan
html css js c++ java
做个DataList 可分页的数据源
这个数据源,分两部分,一是从数据类中调出数据,然后在本数据源中对分页参数以及页面分页辅助控件进行操作!在前面有三个控件控制翻页,一个下拉列表,两个LinkButton!
关于更多类中数据操作的方法见
http://thcjp.cnblogs.com/archive/2006/06/18/428775.html
这篇
下面 fill() 方法调用很简单,在页面中要重新绑定的地方 写上 fill() 就可以了,呵呵!但是一定要写哦,例如翻页动作执行后!
下面是db类中的ds方法
public
static
DataTable ds(
string
que)
{
//
返回一个装载了SQL制定留言的数据表,
OleDbConnection con
=
odb.con();
OleDbDataAdapter oda
=
new
OleDbDataAdapter();
oda.SelectCommand
=
new
OleDbCommand(que,con);
DataSet ds
=
new
DataSet();
oda.Fill(ds,
"
thc
"
);
return
ds.Tables[
"
thc
"
];
}
下面方法使用的数据源就是上面的这个
private
void
fill()
{
//
做的一个方法,因为页内将有多次的绑定
//
这里设置一个隐藏的Label,用与储存当前的页索引
int
cup
=
Convert.ToInt32(pagelbl.Text);
PagedDataSource ps
=
new
PagedDataSource();
//
NEW一个分页数据源
ps.DataSource
=
odb.ds(
"
select * from guest order by id desc
"
).DefaultView;
//
送一个SQL语句进去,确定该数据源的数据源,有点绕吧,呵呵
ps.AllowPaging
=
true
;
//
允许分页
ps.PageSize
=
2
;
//
设置页的数量
ps.CurrentPageIndex
=
cup
-
1
;
if
(
!
IsPostBack)
{
//
判断页面是否第一次载入
for
(
int
i
=
1
; i
<=
ps.PageCount; i
++
)
{
//
循环出页码
pageddl.Items.Add(i.ToString());
}
}
//
下面主要是控制上下翻页按纽是否起用
pageup.Enabled
=
true
;
pagedown.Enabled
=
true
;
if
(ps.IsFirstPage)
{
//
如果是最前页,上页按纽不可用
pageup.Enabled
=
false
;
}
if
(ps.IsLastPage)
{
//
如果是最后页,下页按纽不可用
pagedown.Enabled
=
false
;
}
//
设置页码下拉菜单当前选中的值
pageddl.SelectedItem.Text
=
cup.ToString();
//
终于可以绑定给DataList了
DataList1.DataSource
=
ps;
DataList1.DataKeyField
=
"
id
"
;
DataList1.DataBind();
}
再下面是翻页事件的处理
protected
void
pageddl_SelectedIndexChanged(
object
sender, EventArgs e)
{
//
页码下拉菜单事件
pagelbl.Text
=
pageddl.SelectedItem.Text.ToString();
fill();
}
protected
void
pagedown_Click(
object
sender, EventArgs e)
{
//
下页事件
pagelbl.Text
=
Convert.ToString(Convert.ToInt32(pagelbl.Text)
+
1
);
fill();
}
protected
void
pageup_Click(
object
sender, EventArgs e)
{
//
上页事件
pagelbl.Text
=
Convert.ToString(Convert.ToInt32(pagelbl.Text)
-
1
);
fill();
}
查看全文
相关阅读:
浅析跨域请求
python虚拟环境--virtualenv
centos7下使用yum安装pip
centos下python安装与虚拟环境配置
ES6基础语法
CCI_chapter 19 Moderate
CCI_chapter 16 Low level
CCI_chapter 13C++
CCI_chapter 8 Recurision
LeetCode_Generate Parentheses
原文地址:https://www.cnblogs.com/thcjp/p/428781.html
最新文章
洛谷 P1908 逆序对
Bzoj4821 [Sdoi2017]相关分析
洛谷P3613 睡觉困难综合征
[模板仓库] 计算几何
Bzoj3771 Triple
COGS1882 [国家集训队2011]单选错位
Bzoj4819 [Sdoi2017]新生舞会
Bzoj4818 [Sdoi2017]序列计数
UOJ#110. 【APIO2015】Bali Sculptures
Bzoj3224 / Tyvj 1728 普通替罪羊树
热门文章
Bzoj4817 [Sdoi2017]树点涂色
Bzoj3779 重组病毒
Bzoj3924 [Zjoi2015]幻想乡战略游戏
Bzoj4710 [Jsoi2011]分特产
Bzoj1005 [HNOI2008]明明的烦恼
我的面试笔记
LeetCode之旅
Redis起步
luffy项目的接口开发
三次握手和四次挥手
Copyright © 2011-2022 走看看