博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用 datalist控件进行分页(28)
阅读量:5876 次
发布时间:2019-06-19

本文共 2845 字,大约阅读时间需要 9 分钟。

在开发网站时,常常需要在页面中显示一些信息,有时候显示的比较多,这时候我们就会用到分页,于是可以 通过datalist控件中的数据绑定,分页显示该网页的信息。datalist控件的分页实现是借助pageddatasource类来实现的,该类封 装了数据控件的分页属性,其常用属性及说明如下:
属性 说明
AllowPaging 设置是否分 页
AllowCustomPaging 设置是否启用自定义分页
DataSource 设置填充控件的源数据
PageSize 设置在控件上每页显示的项数
PageCount 设置总页数
FrstIndexPage 获取页 中的第一个索引
IsFirstPage 获取一个 值,指示该页是否为首页
IsLastPage 获取一个值, 指示该页是否为最后一页
   
在主页页面的page_load事件中,调用用户自定义的dlBind方法对 datalist控件进行数据绑定并分页,page_load事件的代码如下:
protected void Page_Load(object sender, EventArgs e) {     dlBind()
}

该页的page_load事件中调用自定义dlBind,dlBind方法为自定义的无返回值类型方法,该方法主要用来从数据库中查出符合指定条件 的记录,并绑定datalist控件中,然后通过设置pagedatasource类对象allowpaging属性为true。来实现datalist 控件的分页功能,dlBind方法代码如下:
#region 用户自定义bindDataList方法 ///  /// 该方法在DataList控件中实现分页功能 ///  public void bindDataList() {
//将labPage控件显示的页数赋值给整型变量curpage中 int curpage = Convert.ToInt32(this.labPage.Text); PagedDataSource ps = new PagedDataSource();//实例化一个PagedDataSource类对象 SqlConnection con = new SqlConnection(this.GetConStr());//连接数据库 con.Open();//打开数据库连接 string sqlstr = "select * from tb_tools"; SqlDataAdapter MyAdapter = new SqlDataAdapter(sqlstr, con); DataSet ds = new DataSet();//实例化一个对象 MyAdapter.Fill(ds, "tb_tools"); ps.DataSource = ds.Tables["tb_tools"].DefaultView; ps.AllowPaging = true; //是否可以分页 ps.PageSize = 2; //显示的数量 ps.CurrentPageIndex = curpage - 1; //取得当前页的页码 this.lnkbtnUp.Enabled = true;//显示上一页按钮 this.lnkbtnNext.Enabled = true;//显示下一页按钮 this.lnkbtnBack.Enabled = true;//显示最后一页按钮 this.lnkbtnOne.Enabled = true;//显示第一页按钮 if (curpage == 1) {
this.lnkbtnOne.Enabled = false;//不显示第一页按钮 this.lnkbtnUp.Enabled = false;//不显示上一页按钮 } if (curpage == ps.PageCount) {
this.lnkbtnNext.Enabled = false;//不显示下一页按钮 this.lnkbtnBack.Enabled = false;//不显示最后一页按钮 } this.labBackPage.Text = Convert.ToString(ps.PageCount);//将分页的总页数赋值给labBackPage控件中 this.dlContent.DataSource = ps;//在dlContent控件中绑定ps分页数据源 this.dlContent.DataKeyField = "ID";//将主键传递给dlContent控件中 this.dlContent.DataBind();//将数据源绑定到dbContent控件中 con.Close();//关闭数据库连接 } #endregion

当用户单击用于操作分页linkbutton控件时,程序根据当前页码执行指定操作。用于控制分页的linkbutton控件的click事件代 码:
#endregion protected void lnkbtnOne_Click(object sender, EventArgs e) {
this.labPage.Text = "1";//将“1”赋值给labPage控件当中 this.bindDataList();//调用用户自定义bindDataList方法 } protected void lnkbtnUp_Click(object sender, EventArgs e) {
this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) - 1); this.bindDataList();//调用用户自定义bindDataList方法 } protected void lnkbtnNext_Click(object sender, EventArgs e) {
this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) + 1); this.bindDataList();//调用用户自定义bindDataList方法 } protected void lnkbtnBack_Click(object sender, EventArgs e) {
this.labPage.Text = this.labBackPage.Text; this.bindDataList();//调用用户自定义bindDataList方法
做完后的效果图:
本文转自shenzhoulong  51CTO博客,原文链接:http://blog.51cto.com/shenzhoulong/332139,如需转载请自行联系原作者
你可能感兴趣的文章
移动开发Html 5前端性能优化指南
查看>>
《系统架构师》——操作系统和硬件基础
查看>>
如何看待一本图书
查看>>
Linux 中如何通过命令行访问 Dropbox
查看>>
开发进度——4
查看>>
JS里验证信息
查看>>
Akka actor tell, ask 函数的实现
查看>>
windows10 chrome 调试 ios safari 方法
查看>>
Netty 4.1.35.Final 发布,经典开源 Java 网络服务框架
查看>>
详解Microsoft.AspNetCore.CookiePolicy
查看>>
SCDPM2012 R2实战一:基于SQL 2008 R2集群的SCDPM2012 R2的安装
查看>>
SQL SERVER中字段类型与C#数据类型的对应关系
查看>>
Linux lsof命令详解
查看>>
SVG path
查看>>
js判断checkbox是否选中
查看>>
多系统盘挂载
查看>>
MySQL函数怎么加锁_MYSQL 函数调用导致自动生成共享锁问题
查看>>
MR1和MR2的工作原理
查看>>
Eclipse中修改代码格式
查看>>
GRUB Legacy
查看>>