广

ASP.NET

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    做个DataList 可分页的数据源

    2018-04-08 09:02:55 次阅读 稿源:互联网
    广告

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

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

      下面 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);

              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();
          }

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告