广

ASP.NET

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

    ASP.NET技巧:做个DataList可分页的数据源

    2018-05-03 14:17:31 次阅读 稿源:互联网
    广告

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

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

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

    广告
    广告
    广告