Repeater读取数据并分页

王朝other·作者佚名  2006-11-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();

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有