这个数据源分两部分一是从数据类中调出数据然后在本数据源中对分页参数以及页面分页辅助控件进行操作!在前面有三个控件控制翻页一个下拉列表两个LinkButton!
下面 fill() 方法调用很简单在页面中要重新绑定的地方 写上 fill() 就可以了呵呵!但是一定要写哦例如翻页动作执行后!
下面是db类中的ds方法
public static DataTable ds(string que)
{
//返回一个装载了SQL制定留言的数据表
OleDbConnection con = odbcon();
OleDbDataAdapter oda = new OleDbDataAdapter();
odaSelectCommand=new OleDbCommand(quecon);
DataSet ds = new DataSet();
odaFill(dsthc);
return dsTables[thc];
conClose();
}
下面方法使用的数据源就是上面的这个
private void fill()
{
//做的一个方法因为页内将有多次的绑定
//这里设置一个隐藏的Label用与储存当前的页索引
int cup = ConvertToInt(pagelblText);
PagedDataSource ps = new PagedDataSource();//NEW一个分页数据源
psDataSource = odbds(select * from guest order by id desc)DefaultView;//送一个SQL语句进去确定该数据源的数据源
psAllowPaging = true;//允许分页
psPageSize = ;//设置页的数量
psCurrentPageIndex = cup;
if (!IsPostBack)
{
//判断页面是否第一次载入
for (int i = ; i <= psPageCount; i++)
{
//循环出页码
pageddlItemsAdd(iToString());
}
}
//下面主要是控制上下翻页按纽是否起用
pageupEnabled = true;
pagedownEnabled = true;
if (psIsFirstPage)
{
//如果是最前页上页按纽不可用
pageupEnabled = false;
}
if (psIsLastPage)
{
//如果是最后页下页按纽不可用
pagedownEnabled = false;
}
//设置页码下拉菜单当前选中的值
pageddlSelectedItemText = cupToString();
//终于可以绑定给DataList了
DataListDataSource = ps;
DataListDataKeyField = id;
DataListDataBind();
}
再下面是翻页事件的处理
protected void pageddl_SelectedIndexChanged(object sender EventArgs e)
{
//页码下拉菜单事件
pagelblText = pageddlSelectedItemTextToString();
fill();
}
protected void pagedown_Click(object sender EventArgs e)
{
//下页事件
pagelblText = ConvertToString(ConvertToInt(pagelblText)+);
fill();
}
protected void pageup_Click(object sender EventArgs e)
{
//上页事件
pagelblText = ConvertToString(ConvertToInt(pagelblText));
fill();
}