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的笔试题
May 31 面试题
PHP高级工程师面试问题推荐
Jan 18 面试题
Web Service面试题:如何搭建Axis2的开发环境
Jun 20 面试题
JAVA中的关键字有什么特点
Mar 07 面试题
Java平台和其他软件平台有什么不同
Jun 05 面试题
C语言怎样定义和声明全局变量和函数最好
Nov 26 面试题
以下的初始化有什么区别
Dec 16 面试题
一套SQL笔试题
Aug 14 面试题
为什么UNION ALL比UNION快
Mar 17 面试题
介绍一下SQL注入攻击的种类和防范手段
Feb 18 面试题
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
Mar 30 面试题
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
Apr 23 面试题
.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中文汉字验证码
2007/04/08 PHP
PHP array_push 数组函数
2009/12/26 PHP
php计算数组不为空元素个数的方法
2014/01/27 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
PHP将URL转换成短网址的算法分享
2016/09/13 PHP
用Javascript 和 CSS 实现脚注(Footnote)效果
2009/09/09 Javascript
JS控制文本框textarea输入字数限制的方法
2013/06/17 Javascript
浅析JavaScript中两种类型的全局对象/函数
2013/12/05 Javascript
讲解JavaScript中for...in语句的使用方法
2015/06/03 Javascript
简介JavaScript中toUpperCase()方法的使用
2015/06/06 Javascript
JS简单生成两个数字之间随机数的方法
2016/08/03 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
2016/10/25 Javascript
整理一下常见的IE错误
2016/11/18 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
jsonp跨域请求详解
2017/07/13 Javascript
vue 自定义 select内置组件
2018/04/10 Javascript
JS中数组与对象的遍历方法实例小结
2018/08/14 Javascript
基于javascript实现碰撞检测
2020/03/12 Javascript
vue 使用post/get 下载导出文件操作
2020/08/07 Javascript
Python常见文件操作的函数示例代码
2011/11/15 Python
python数据结构之图深度优先和广度优先实例详解
2015/07/08 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
2018/12/07 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
Python3之字节串bytes与字节数组bytearray的使用详解
2019/08/27 Python
Python中低维数组填充高维数组的实现
2019/12/02 Python
Python运行异常管理解决方案
2020/03/09 Python
澳大利亚实惠时尚女装商店:Katies
2019/06/16 全球购物
不打扫卫生检讨书
2014/02/12 职场文书
畜牧兽医本科生的自我评价
2014/03/03 职场文书
办公室员工岗位工作职责
2014/03/10 职场文书
超市收银员岗位职责
2015/04/07 职场文书
pytest配置文件pytest.ini的详细使用
2021/04/17 Python
Java 关于String字符串原理上的问题
2022/04/07 Java/Android