首页 > 开发 > 综合 > 正文

Repeater读取数据并分页

2024-07-21 02:29:24
字体:
来源:转载
供稿:网友

据说这个没有什么用,但是把这个搞懂了对datagri和datalist和有帮助,事业就笔记一下了。
 ----------控件清单---------
  panel panel1;
  button button1;
  button button2;
  label label1;
  label label2;
  label label3;
  label label4;
  label label5;
  repeater repeater1;

--------------------------.cs页-----------------------------------
private void page_load(object sender, system.eventargs e)
  {
   if(!this.ispostback)
   {
    this.label1.text="1";
    this.fill();
   }
  }
  private void fill()
  {
  int pag=convert.toint32(this.label1.text);//设置当前页
    sqlconnection con=new sqlconnection("server=.;database=northwind;uid=sa;pwd=980123;");//实例化连接
    sqldataadapter sda=new sqldataadapter();//建立一个数据适配器对象
    sda.selectcommand=new sqlcommand("select * from employees",con);//实例化selectcommand,并用他从数据库读出全部数据
    dataset ds=new dataset();//定义一个数据集填充
    sda.fill(ds,"name");//使用适配器填充数据集到本地表“name”
   pageddatasource ps=new pageddatasource();//实例化一个pageddatasource,这个本来是封装是datagrid里面的
   ps.datasource=ds.tables["name"].defaultview;//设置他的数据源为ds.tables["name"].defaultview数据视图
   ps.allowpaging=true;//允许分页
   ps.pagesize=3;//每页显示数量
   ps.currentpageindex=pag-1;//当前页码,因为页是从0开始的,所以要减1
   this.button1.enabled=true;//按钮当前状态
   this.button2.enabled=true;
   this.label5.text=ps.pagecount.tostring();
   if(pag==1)
   {
   this.button1.enabled=false;//如果当前页是  1 ,上一页按钮不可用
   }
   if(pag==ps.pagecount)
   {
   this.button2.enabled=false;//如果当前页是最后一页 ,下一页按钮不可用
   }
       this.repeater1.datasource=ps;
    this.repeater1.databind();
  }
窗体代码
private void button2_click(object sender, system.eventargs e)
  {
   this.label1.text=((convert.toint32(this.label1.text))+1).tostring();
   this.fill();
  }

  private void button1_click(object sender, system.eventargs e)
  {
  this.label1.text=((convert.toint32(this.label1.text))-1).tostring();
    this.fill();
  }

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表