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

面试题 相关文章推荐
简单说说tomcat的配置
May 28 面试题
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
Feb 10 面试题
经典c++面试题三
Jul 08 面试题
请解释在new与override的区别
Oct 29 面试题
XML文档面试题
Aug 05 面试题
几个Linux面试题笔试题
Dec 01 面试题
中科创达面试题
Dec 28 面试题
EJB实例的生命周期
Oct 28 面试题
什么是Remote Module
Jun 10 面试题
介绍一下mysql的日期和时间函数
Mar 28 面试题
介绍下Java中==和equals的区别
Sep 01 面试题
顺丰快递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 session_start()问题解疑(详细介绍)
2013/07/05 PHP
php内核解析:PHP中的哈希表
2014/01/30 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
2016/06/21 PHP
php redis实现对200w用户的即时推送
2017/03/04 PHP
PHP实现的用户注册表单验证功能简单示例
2019/02/25 PHP
PHP回调函数简单用法示例
2019/05/08 PHP
javascript 尚未实现错误解决办法
2008/11/27 Javascript
juqery 学习之四 筛选查找
2010/11/30 Javascript
一个简单的JS时间控件示例代码(JS时分秒时间控件)
2013/11/22 Javascript
谷歌地图打不开的解决办法
2014/08/07 Javascript
JavaScript里实用的原生API汇总
2015/05/14 Javascript
全面解析Bootstrap手风琴效果
2020/04/17 Javascript
JavaScript实现斗地主游戏的思路
2016/02/29 Javascript
JS判断字符串字节数并截取长度的方法
2016/03/05 Javascript
浅析JSONP技术原理及实现
2016/06/08 Javascript
angular2+node.js express打包部署的实战
2017/07/27 Javascript
vue获取dom元素注意事项
2017/12/28 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
2018/01/08 Javascript
基于node下的http小爬虫的示例代码
2018/01/11 Javascript
微信小程序使用map组件实现解析经纬度功能示例
2019/01/22 Javascript
nodejs实现用户登录路由功能
2019/05/22 NodeJs
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
使用Python读取安卓手机的屏幕分辨率方法
2018/03/31 Python
解决Python selenium get页面很慢时的问题
2019/01/30 Python
python与pycharm有何区别
2020/07/01 Python
python pygame 愤怒的小鸟游戏示例代码
2021/02/25 Python
HTML5探秘:用requestAnimationFrame优化Web动画
2018/06/03 HTML / CSS
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
德国宠物用品、宠物食品及水族馆网上商店:ZooRoyal
2017/07/09 全球购物
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
软件配置管理有什么好处
2015/04/15 面试题
餐厅总经理岗位职责
2013/12/31 职场文书
办理居住证介绍信
2014/01/15 职场文书
最美孝心少年事迹材料
2014/08/15 职场文书
党员争先创优承诺书
2015/01/20 职场文书
社区公民道德宣传日活动总结
2015/03/23 职场文书