DataList 能否分页,请问如何实现?


Posted in 面试题 onMay 03, 2015
private void Page_Load(object sender, System.EventArgs e)
{
PageSize=1;
Conn= new SqlConnection(Application["Guest_Conn"].ToString());
Conn.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 guest”;
SqlCommand MyComm = new SqlCommand (strCount,Conn);
SqlDataReader 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 guest order by postdate desc”;
DataSet ds = new DataSet();
SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,Conn);
MyAdapter.Fill(ds,StartIndex,PageSize,”guest”);
return ds.Tables["guest"].DefaultView;
}

public void ListBind()
{
Myguest.DataSource = CreateSource();
Myguest.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 break;
case “prev”:
if(CurrentPage>0) CurrentPage–;
break;
}
ViewState["PageIndex"] = CurrentPage;
ListBind();
}

Tags in this post...

面试题 相关文章推荐
描述一下JVM加载class文件的原理机制
Dec 08 面试题
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类
Feb 06 面试题
类、抽象类、接口的差异
Jun 13 面试题
华为慧通面试题
Sep 11 面试题
一套.net面试题及答案
Nov 02 面试题
shell程序中如何注释
Feb 17 面试题
港湾网络笔试题
Apr 19 面试题
中科方德软件测试面试题
Apr 21 面试题
如何查看在weblogic中已经发布的EJB
Jun 01 面试题
Python面试题:如何用Python来发送邮件
Mar 15 面试题
Java文件和目录(IO)操作
Aug 26 面试题
Unix如何添加新的用户
Aug 20 面试题
.NET remoting中对象激活的两种方式
Jun 08 #面试题
.NET remoting的两种通道是什么
May 31 #面试题
如何为DataGridView添加一个定制的Column Type
Jan 21 #面试题
Net Remoting把服务器端激活两种模式
Jan 22 #面试题
.net软件工程师应聘上机试题
Mar 10 #面试题
请解释在new与override的区别
Oct 29 #面试题
关于递归的一道.NET面试题
May 12 #面试题
You might like
德劲1107的电路分析与打磨
2021/03/02 无线电
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
ThinkPHP3.1新特性之内容解析输出详解
2014/06/19 PHP
PHP链接MySQL的常用扩展函数
2014/10/23 PHP
利用php输出不同的心形图案
2016/04/22 PHP
JavaScript 获取事件对象的注意点
2009/07/29 Javascript
UI Events 用户界面事件
2012/06/27 Javascript
jquery中选择块并改变属性值的方法
2013/07/31 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
js replace()去除代码中空格的实例
2017/02/14 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
Vue2.0学习之详解Vue 组件及父子组件通信
2017/12/12 Javascript
更改BootStrap popover的默认样式及popover简单用法
2018/09/13 Javascript
[06:01]刀塔次级联赛top10第一期
2014/11/07 DOTA
用Python编写一个简单的Lisp解释器的教程
2015/04/03 Python
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
Python中的sort()方法使用基础教程
2017/01/08 Python
Python编写登陆接口的方法
2017/07/10 Python
python编写朴素贝叶斯用于文本分类
2017/12/21 Python
使用python打印十行杨辉三角过程详解
2019/07/10 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
python实时监控logstash日志代码
2020/04/27 Python
python使用scapy模块实现ARP扫描的过程
2021/01/21 Python
css3闪亮进度条效果实现思路及代码
2013/04/17 HTML / CSS
英国著名药妆店:Superdrug
2021/02/13 全球购物
高职教师岗位职责
2013/12/24 职场文书
新学期家长寄语
2014/01/19 职场文书
幼儿园教师培训方案
2014/02/04 职场文书
租房协议书
2014/04/10 职场文书
《风筝》教学反思
2014/04/10 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
研究生毕业论文导师评语
2014/12/31 职场文书
工伤劳动仲裁代理词
2015/05/25 职场文书
MySQL Innodb关键特性之插入缓冲(insert buffer)
2021/04/08 MySQL
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python
我国拿下天问一号火星着陆区附近 22 个地理实体命名:平乐、西柏坡、古田、漠河等
2022/04/29 数码科技