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

面试题 相关文章推荐
纬创Java面试题笔试题
Oct 02 面试题
什么造成了Java里面的异常
Apr 24 面试题
分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)
Jul 16 面试题
编写用C语言实现的求n阶阶乘问题的递归算法
Oct 21 面试题
试述DBMS的主要功能
Nov 13 面试题
Sql面试题
Mar 20 面试题
上海某公司.net方向笔试题
Sep 14 面试题
木马的传播途径主要有哪些
Apr 08 面试题
中科方德软件测试面试题
Apr 21 面试题
Java的类可以定义为Protected或者Private得吗
Sep 25 面试题
什么是封装
Mar 26 面试题
Structs界面控制层技术
Oct 11 面试题
.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面向对象全攻略 (十二) 抽象方法和抽象类
2009/09/30 PHP
Yii视图CGridView实现操作按钮定义地址示例
2016/07/14 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
2016/07/23 PHP
PHP小程序支付功能完整版【基于thinkPHP】
2019/03/26 PHP
php中try catch捕获异常实例详解
2020/08/06 PHP
javascript中对对层的控制
2006/12/29 Javascript
jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
2009/12/02 Javascript
取得元素的左和上偏移量的方法
2014/09/17 Javascript
AngularJS入门教程(一):静态模板
2014/12/06 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
js获取当前日期时间及其它操作汇总
2015/04/17 Javascript
js实现文本框支持加减运算的方法
2015/08/19 Javascript
jquery实现邮箱自动填充提示功能
2015/11/17 Javascript
基于Bootstrap 3 JQuery及RegExp的表单验证功能
2017/02/16 Javascript
js手机号4位显示空格,银行卡每4位显示空格效果
2017/03/23 Javascript
Nodejs之http的表单提交
2017/07/07 NodeJs
微信小程序新手教程之页面打开数量限制
2019/03/03 Javascript
Vue.js计算机属性computed和methods方法详解
2019/10/12 Javascript
Vue中qs插件的使用详解
2020/02/07 Javascript
在Python的Flask框架下收发电子邮件的教程
2015/04/21 Python
Python求导数的方法
2015/05/09 Python
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
CSS3中animation实现流光按钮效果
2020/12/21 HTML / CSS
猫途鹰:全球领先的旅游点评社区
2017/04/07 全球购物
俄罗斯厨房产品购物网站:COOK HOUSE
2021/03/15 全球购物
生物技术毕业生自荐信
2013/10/23 职场文书
个人简历自荐信
2013/12/05 职场文书
初级会计求职信范文
2014/02/15 职场文书
派出所所长先进事迹
2014/05/19 职场文书
食堂标语大全
2014/06/11 职场文书
2014年高中班主任工作总结
2014/11/08 职场文书
趵突泉导游词
2015/02/03 职场文书
2015年七一建党节活动方案
2015/05/05 职场文书
详解Oracle数据库中自带的所有表结构(sql代码)
2021/11/20 Oracle