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

面试题 相关文章推荐
PHP两种查询函数array/row的区别
Jun 03 面试题
为什么要优先使用同步代码块而不是同步方法?
Jan 30 面试题
怎样创建、运行java程序
Aug 01 面试题
2019年Java面试必问之经典试题
Sep 12 面试题
Sony C++笔试题
Mar 10 面试题
静态成员和非静态成员的区别
May 12 面试题
外企测试工程师面试题
Feb 01 面试题
配置管理计划的主要内容有哪些
Jun 20 面试题
AJAX都有哪些有点和缺点
Nov 03 面试题
什么时候需要进行强制类型转换
Sep 03 面试题
如何用Java实现列出某个目录下的所有子目录
Jul 20 面试题
顺丰快递Java软件工程师面试题
Jul 31 面试题
.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
php 数组的一个悲剧?
2011/05/11 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
2014/06/23 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
PHP获取数组中重复最多的元素的实现方法
2014/11/11 PHP
PHP里的单例类写法实例
2015/06/25 PHP
利用PHP命令行模式采集股票趋势信息
2016/08/09 PHP
PHP工厂模式的日常使用
2019/03/20 PHP
laravel按天、按小时,查询数据的实例
2019/10/09 PHP
javascript 3d 逐侦产品展示(核心精简)
2014/03/26 Javascript
uploadify多文件上传参数设置技巧
2015/11/16 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
vue中实现滚动加载更多的示例
2017/11/08 Javascript
浅谈angular4实际项目搭建总结
2017/12/01 Javascript
JavaScript中 ES6变量的结构赋值
2018/07/10 Javascript
nodejs提示:cross-device link not permitted, rename错误的解决方法
2019/06/10 NodeJs
js闭包的9个使用场景
2020/12/29 Javascript
Python实现找出数组中第2大数字的方法示例
2018/03/26 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
2018/12/27 Python
python分别打包出32位和64位应用程序
2020/02/18 Python
python3用urllib抓取贴吧邮箱和QQ实例
2020/03/10 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
2020/11/17 Python
CSS的pointer-events属性详细介绍(作用和注意事项)
2014/04/23 HTML / CSS
New Balance英国官方网站:始于1906年,百年慢跑品牌
2016/12/07 全球购物
施华洛世奇澳大利亚官网:SWAROVSKI澳大利亚
2017/01/06 全球购物
佳能英国官方网站:Canon UK
2017/08/08 全球购物
Sandro Paris美国官网:典雅别致的法国时尚服饰品牌
2017/12/26 全球购物
机修工岗位职责
2013/11/24 职场文书
党员自我批评与反省材料
2014/02/10 职场文书
大学生通用个人自我评价
2014/04/27 职场文书
四风问题个人对照检查材料
2014/09/26 职场文书
项目经理岗位职责
2015/01/31 职场文书
教师年度考核个人总结
2015/02/12 职场文书
青年干部培训班学习心得体会
2016/01/06 职场文书
读《瓦尔登湖》有感:每个人都需要一个瓦尔登湖
2019/10/17 职场文书
小程序wx.getUserProfile接口的具体使用
2021/06/02 Javascript
微前端qiankun改造日渐庞大的项目教程
2022/06/21 Javascript