如何在ASP .NET中重复控制转发器 [英] How to pagination in repeater control in ASP .NET

查看:76
本文介绍了如何在ASP .NET中重复控制转发器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的朋友们,



我需要分页来控制转发器。共450行。每页10行。我的问题是它在分页中生成了45个按钮。如何解决这个问题。



我尝试过:



 DataTable dt = bl.GetWorkOrderBLL(); 
//创建将用于分页的PagedDataSource
PagedDataSource pgitems = new PagedDataSource();
pgitems.DataSource = dt.DefaultView;
pgitems.AllowPaging = true;
//从这里控制页面大小
pgitems.PageSize = 10;
totalCount = dt.Rows.Count;
pgitems.CurrentPageIndex = PgNum;
int vcnt = totalCount / pgitems.PageSize;
if(PgNum< 1)
lnkBtnPrev.Visible = false;
else if(PgNum> 0)
lnkBtnPrev.Visible = true;
if(PgNum == vcnt)
lnkBtnNext.Visible = false;
else if(PgNum< vcnt)
lnkBtnNext.Visible = true;

if(pgitems.PageCount> 1)
{
rptPaging.Visible = true;
ArrayList pages = new ArrayList();
for(int i = 0; i< = pgitems.PageCount - 1; i ++)
{
pages.Add((i + 1).ToString());
}
rptPaging.DataSource = pages;
rptPaging.DataBind();
}
其他
{
rptPaging.Visible = false;
}
rptWO.DataSource = pgitems;
rptWO.DataBind();

解决方案

在你处理这个问题之前,没有任何内置的东西可以帮助你...

使用ASP.NET Repeater控件进行自定义分页DotNetCurry [ ^ ]

使用转发器控制分页 [ ^ ]

在ASP.NET C#中使用Repeater Control完善分页 [ ^ ]

Dear Friends,

I need to pagination for repeater control. total 450 rows. Each page 10 rows. my problem is It generated 45 buttons in pagination. how to resolve this problem.

What I have tried:

DataTable dt = bl.GetWorkOrderBLL();
           //Create the PagedDataSource that will be used in paging
           PagedDataSource pgitems = new PagedDataSource();
           pgitems.DataSource = dt.DefaultView;
           pgitems.AllowPaging = true;
           //Control page size from here
           pgitems.PageSize = 10;
           totalCount = dt.Rows.Count;
           pgitems.CurrentPageIndex = PgNum;
           int vcnt = totalCount / pgitems.PageSize;
           if (PgNum < 1)
               lnkBtnPrev.Visible = false;
           else if (PgNum > 0)
               lnkBtnPrev.Visible = true;
           if (PgNum == vcnt)
               lnkBtnNext.Visible = false;
           else if (PgNum < vcnt)
               lnkBtnNext.Visible = true;

           if (pgitems.PageCount > 1)
           {
               rptPaging.Visible = true;
               ArrayList pages = new ArrayList();
               for (int i = 0; i <= pgitems.PageCount - 1; i++)
               {
                   pages.Add((i + 1).ToString());
               }
               rptPaging.DataSource = pages;
               rptPaging.DataBind();
           }
           else
           {
               rptPaging.Visible = false;
           }
           rptWO.DataSource = pgitems;
           rptWO.DataBind();

解决方案

There is nothing built-in to help you, however a lot before you handled this...
Custom Paging with the ASP.NET Repeater Control | DotNetCurry[^]
Pagination with Repeater Control[^]
Perfect Pagination with Repeater Control in ASP.NET C#[^]


这篇关于如何在ASP .NET中重复控制转发器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆