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面试题及答案-编程题
Oct 14 面试题
面向对象编程OOP的优点
Jan 22 面试题
Java的接口和C++的虚类的相同和不同处
Mar 27 面试题
JAVA代码查错题
Oct 10 面试题
C面试题
Oct 08 面试题
经典C++面试题一
Nov 06 面试题
查询优化的一般准则有哪些
Mar 08 面试题
如何在.net Winform里面显示PDF文档
Sep 11 面试题
远东集团网络工程师面试题
Oct 20 面试题
几道Web/Ajax的面试题
Nov 05 面试题
Python面试题:如何用Python来发送邮件
Mar 15 面试题
如何用Java实现列出某个目录下的所有子目录
Jul 20 面试题
.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
ThinkPHP中使用ajax接收json数据的方法
2014/12/18 PHP
PHP生成唯一订单号
2015/07/05 PHP
总结的一些PHP开发中的tips(必看篇)
2017/03/24 PHP
IE中jscript/javascript的条件编译
2006/09/07 Javascript
简体中文转换繁体中文(实现代码)
2013/12/25 Javascript
使用javascript实现有效时间的控制,并显示将要过期的时间
2014/01/02 Javascript
php中给js数组赋值方法
2014/03/10 Javascript
JavaScript中的Math 使用介绍
2014/04/21 Javascript
javascript另类方法实现htmlencode()与htmldecode()函数实例分析
2016/11/17 Javascript
bootstrap switch开关组件使用方法详解
2017/08/22 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
2018/09/03 Javascript
Vue.js 实现数据展示全部和收起功能
2018/09/05 Javascript
vue 点击按钮增加一行的方法
2018/09/07 Javascript
JavaScript事件对象深入详解
2018/12/30 Javascript
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
微信小程序云函数添加数据到数据库的方法
2020/03/04 Javascript
tensorflow实现KNN识别MNIST
2018/03/12 Python
django如何连接已存在数据的数据库
2018/08/14 Python
python调用staf自动化框架的方法
2018/12/26 Python
python pandas生成时间列表
2019/06/29 Python
使用django的objects.filter()方法匹配多个关键字的方法
2019/07/18 Python
python输出决策树图形的例子
2019/08/09 Python
python批量读取文件名并写入txt文件中
2020/09/05 Python
python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性
2020/02/25 Python
django admin后管定制-显示字段的实例
2020/03/11 Python
matplotlib 对坐标的控制,加图例注释的操作
2020/04/17 Python
python中JWT用户认证的实现
2020/05/18 Python
解决Keras中CNN输入维度报错问题
2020/06/29 Python
Python编写memcached启动脚本代码实例
2020/08/14 Python
Python爬虫教程之利用正则表达式匹配网页内容
2020/12/08 Python
美丽的现代设计家具:2Modern
2018/07/26 全球购物
新西兰便宜隐形眼镜购买网站:QUICKLENS New Zealand
2019/03/02 全球购物
营业员个人总结的自我评价
2013/10/25 职场文书
2014年小班保育员工作总结
2014/12/23 职场文书
一文搞懂redux在react中的初步用法
2021/06/09 Javascript
面试中老生常谈的MySQL问答集锦夯实基础
2022/03/13 MySQL