做个DataList 可分页的数据源

2016-02-19 15:29 0 1 收藏

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的做个DataList 可分页的数据源懂设计的网友们快点来了解吧!

【 tulaoshi.com - Web开发 】

  这个数据源,分两部分,一是从数据类中调出数据,然后在本数据源中对分页参数以及页面分页辅助控件进行操作!在前面有三个控件控制翻页,一个下拉列表,两个LinkButton!

  关于更多类中数据操作的方法见 http://thcjp.cnblogs.com/archive/2006/06/18/428775.html 这篇

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

  下面 fill() 方法调用很简单,在页面中要重新绑定的地方 写上 fill() 就可以了,呵呵!但是一定要写哦,例如翻页动作执行后!

  下面是db类中的ds方法
      public static DataTable ds(string que)
      {//返回一个装载了SQL制定留言的数据表,
          OleDbConnection con = odb.con();
          OleDbDataAdapter oda = new OleDbDataAdapter();
          oda.SelectCommand=new OleDbCommand(que,con);
          DataSet ds = new DataSet();
          oda.Fill(ds,"thc");
          return ds.Tables["thc"];
          con.Close();
      }下面方法使用的数据源就是上面的这个
      private void fill()
      {//做的一个方法,因为页内将有多次的绑定
          //这里设置一个隐藏的Label,用与储存当前的页索引
          int cup = Convert.ToInt32(pagelbl.Text);

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

          PagedDataSource ps = new PagedDataSource();//NEW一个分页数据源
          ps.DataSource = odb.ds("select * from guest order by id desc").DefaultView;//送一个SQL语句进去,确定该数据源的数据源,有点绕吧,呵呵
          ps.AllowPaging = true;//允许分页
          ps.PageSize = 2;//设置页的数量
          ps.CurrentPageIndex = cup-1;
          if (!IsPostBack)
          {//判断页面是否第一次载入
              for (int i = 1; i = ps.PageCount; i++)
              {//循环出页码
                  pageddl.Items.Add(i.ToString());
              }
          }
          //下面主要是控制上下翻页按纽是否起用
          pageup.Enabled = true;
          pagedown.Enabled = true;
          if (ps.IsFirstPage)
          {//如果是最前页,上页按纽不可用
              pageup.Enabled = false;
          }
          if (ps.IsLastPage)
          {//如果是最后页,下页按纽不可用
              pagedown.Enabled = false;
          }
          //设置页码下拉菜单当前选中的值
          pageddl.SelectedItem.Text = cup.ToString();
          //终于可以绑定给DataList了
          DataList1.DataSource = ps;
          DataList1.DataKeyField = "id";
          DataList1.DataBind();
      }
  再下面是翻页事件的处理
      protected void pageddl_SelectedIndexChanged(object sender, EventArgs e)
      {//页码下拉菜单事件
          pagelbl.Text = pageddl.SelectedItem.Text.ToString();
          fill();
      }
      protected void pagedown_Click(object sender, EventArgs e)
      {//下页事件
          pagelbl.Text = Convert.ToString(Convert.ToInt32(pagelbl.Text)+1);
          fill();
      }
      protected void pageup_Click(object sender, EventArgs e)
      {//上页事件
          pagelbl.Text = Convert.ToString(Convert.ToInt32(pagelbl.Text)-1);
          fill();
      }

来源:https://www.tulaoshi.com/n/20160219/1609730.html

延伸阅读
标签: Web开发
    在代码编写中经常使用DataSet做为控件的数据源,通常一个控件只能绑定一个数据源。如果要将多次查询数据库的结果绑定到一个控件中,就必须把多次查询的结果填充到同一个数据源中。当然此功能也可以动态画表格来实现,不过我感觉动态处理表格实在是太麻烦了。为此做了以下测试并且试验成功,现在分享出来。   &...
目前,绝大多数的数据库参考书都介绍了ODBC的手工配置方法,或者介绍了如何在代码中进行ODBC配置。但这两种方法都有一定的局限性:不是当程序最终完成并分发到用户手中后,还需要为用户配置ODBC,显得既麻烦又不符合专业软件的要求;就是得编写复杂的更改操作系统注册表文件的程序,十分烦琐。本文从ADO(ActiveXDataObjects)入手,介绍无需配置...
自定义的集合类 /// /// Collection 的摘要说明。 /// public class Collection : System.Collections.CollectionBase { public Collection() { for(int i = 0;i { base.InnerList.Add(new Element(i,string.Format("a[{0}]",i))); } } } 集合元素类 public class Element { private string name; public string ValueNa...
标签: Web开发
在页面中使用数据库信息之前,您必须创建一个 ColdFusion 数据源。如果您运行的是 ColdFusion MX 7 或更高版本,您可直接在 Dreamweaver 中创建或修改数据源。如果您运行的是 ColdFusion MX,必须使用"ColdFusion MX 管理员"(服务器的管理控制台)创建或修改数据源。在这种情况下,您仍可使用 Dreamweaver 打开"ColdFusion MX 管理员"。 ...
由于历史的原因,在多数企业都同时存在多个数据库平台,在每个数据库平台上都运行着相关的一套或多套应用。随着单位业务不断扩大,如何在不影响现有应用运行的前提下,快速有效地整合这些分布在单位内部不同数据库平台上的数据,是一个困扰CIO们的问题。面对这一问题,现有解决方案大致可分为以下两种: 1.在应用程序上建立连接不同...

经验教程

55

收藏

34
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部