当前位置: 移动技术网 > IT编程>开发语言>.net > Repeater控件与PagedDataSource结合实现分页功能

Repeater控件与PagedDataSource结合实现分页功能

2017年12月12日  | 移动技术网IT编程  | 我要评论

女子在河边喂鱼 下一幕让她傻眼,支付宝登入,黑色星期天吉他谱

本文讲解repeater控件与pageddatasource相结合实现其分页功能。pageddatasource 类封装那些允许数据源控件(如 datagrid、gridview)执行分页操作的属性。如果控件开发人员需对自定义数据绑定控件提供分页支持,即可使用此类。

pageddatasource 类的部分公共属性:

allowcustompaging // 获取或设置指示是否启用自定义分页的值。 allowpaging // 获取或设置指示是否启用分页的值。 count // 获取要从数据源使用的项数。 currentpageindex // 获取或设置当前页的索引。 datasource // 获取或设置数据源。 datasourcecount // 获取数据源中的项数。 firstindexinpage // 获取页中的第一个索引。 iscustompagingenabled // 获取一个值,该值指示是否启用自定义分页。 isfirstpage // 获取一个值,该值指示当前页是否是首页。 islastpage // 获取一个值,该值指示当前页是否是最后一页。 ispagingenabled // 获取一个值,该值指示是否启用分页。 isreadonly // 获取一个值,该值指示数据源是否是只读的。 issynchronized // 获取一个值,该值指示是否同步对数据源的访问(线程安全)。 pagecount // 获取显示数据源中的所有项所需要的总页数。 pagesize // 获取或设置要在单页上显示的项数。 virtualcount // 获取或设置在使用自定义分页时数据源中的实际项数。
下面是pageddatasource类实现repeater控件的分页显示例子,如图:

复制代码 代码如下:

protected void page_load(object sender, eventargs e)
{
if (!page.ispostback)
{
int pageindex = 1;
try
{
pageindex = convert.toint32(request.querystring["page"]);
if (pageindex <= 0) pageindex = 1;
}
catch
{
pageindex = 1;
}
datatable dt = getdocumenttable();
pageddatasource pds = new pageddatasource();
pds.datasource = dt.defaultview; // 设置数据源
pds.allowpaging = true; // 设置指示是否启用分页的值
pds.pagesize = 5; // 设置要在每页显示的数量
pds.currentpageindex = pageindex - 1; // 设置当前页的索引。
rptdocumentlist.datasource = pds;
rptdocumentlist.databind();
ltlpagebar.text = getpagebar(pds);
}
}
// 分页条
private string getpagebar(pageddatasource pds)
{
string pagebar = string.empty;
int currentpageindex = pds.currentpageindex + 1;
if (currentpageindex == 1)
{
pagebar += "首页";
}
else
{
pagebar += " + request.currentexecutionfilepath + "?page=1">首页";
}
if ((currentpageindex - 1) < 1)
{
pagebar += "上一页";
}
else
{
pagebar += " + request.currentexecutionfilepath + "?page=" + (currentpageindex - 1) + "">上一页";
}
if ((currentpageindex + 1) > pds.pagecount)
{
pagebar += "下一页";
}
else
{
pagebar += " + request.currentexecutionfilepath + "?page=" + (currentpageindex + 1) + "">下一页";
}
if (currentpageindex == pds.pagecount)
{
pagebar += "末页";
}
else
{
pagebar += " + request.currentexecutionfilepath + "?page=" + pds.pagecount + "">末页";
}
return pagebar;
}
// 创建测试表
datatable getdocumenttable()
{
datatable dt = new datatable();
dt.columns.add("documentid", typeof(int));
dt.columns.add("title", typeof(string));
for (int i = 1; i <= 30; i++)
{
datarow row = dt.newrow();
row["documentid"] = i;
row["title"] = "文档标题 " + i + "";
dt.rows.add(row);
}
return dt;
}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网