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...

面试题 相关文章推荐
类的核心特性有哪些
Jan 01 面试题
请用用Java代码写一个堆栈
Jan 26 面试题
数据库笔试题
May 09 面试题
数据库的约束含义
Sep 09 面试题
采用怎样的方法保证数据的完整性
Dec 02 面试题
什么是Connection-oriented Protocol/Connectionless Protocol面向连接的协议/无连接协议
Sep 06 面试题
UDP协议功能
Jan 06 面试题
linux比较文件内容的命令是什么
Mar 04 面试题
某公司部分笔试题
Nov 05 面试题
如何获得EntityManager
Feb 09 面试题
Java语言程序设计测试题判断题部分
Jan 06 面试题
设置器与访问器的定义以及各自特点
Jan 08 面试题
.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
造势之举?韩国总统候选人发布《星际争霸》地图
2017/04/22 星际争霸
山进SANGEAN ATS-909X电路分析
2021/03/02 无线电
PHP的可变变量名的使用方法分享
2012/02/05 PHP
php字符串过滤与替换小结
2015/01/26 PHP
yii用户注册表单验证实例
2015/12/26 PHP
详解PHP实现异步调用的4种方法
2016/03/14 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
msn上的tab功能Firefox对childNodes处理的一个BUG
2008/01/21 Javascript
用JS实现3D球状标签云示例代码
2013/12/01 Javascript
jQuery获得document和window对象宽度和高度的方法
2015/03/25 Javascript
Javascript 正则表达式校验数字的简单实例
2016/11/02 Javascript
微信小程序后台解密用户数据实例详解
2017/06/28 Javascript
jquery tmpl模板(实例讲解)
2017/09/02 jQuery
利用yarn代替npm管理前端项目模块依赖的方法详解
2017/09/04 Javascript
详解Vue的watch中的immediate与watch是什么意思
2019/12/30 Javascript
解决微信授权成功后点击按返回键出现空白页和报错的问题
2020/06/08 Javascript
JS数组索引检测中的数据类型问题详解
2021/01/11 Javascript
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
python购物车程序简单代码
2018/04/18 Python
Python3中详解fabfile的编写
2018/06/24 Python
Python爬虫框架scrapy实现的文件下载功能示例
2018/08/04 Python
Python Django 简单分页的实现代码解析
2019/08/21 Python
Python aiohttp百万并发极限测试实例分析
2019/10/26 Python
python颜色随机生成器的实例代码
2020/01/10 Python
tensorflow实现在函数中用tf.Print输出中间值
2020/01/21 Python
Python socket连接中的粘包、精确传输问题实例分析
2020/03/24 Python
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
html2 canvas生成清晰的图片实现打印功能
2019/09/23 HTML / CSS
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
约瑟夫·特纳男装:Joseph Turner
2017/10/10 全球购物
土木工程专业大学毕业生求职信
2013/10/13 职场文书
春节晚会主持词
2014/03/24 职场文书
优秀员工自荐书
2015/03/06 职场文书
辩论赛主持人开场白
2015/05/29 职场文书
党员学习中国梦心得体会
2016/01/05 职场文书
opencv检测动态物体的实现
2021/07/21 Python