AspNetPager 分頁的詳細用法(ASP.NET)


1.【添加AspNetPager.dll文件】

2.【使用方法】

 

     public static DataTable GetRecord(SystemModel.Pager mt, ref int TotalPage, ref int TotalRecord)
        {
            string sortType = mt.SortType == 1 ? " asc" : " desc";
            //查詢總條數
            string _strCountSQL = "select count(" + mt.PrimaryKey + ") from " + mt.TableName + " where " + mt.Where;
            string _strPageSQl = "select top " + mt.PageSize + " " + mt.FiledList + " from " + mt.TableName + " where " + mt.PrimaryKey + " not in(select top " + mt.PageSize * (mt.PageIndex - 1) + " " + mt.PrimaryKey + " from " + mt.TableName + " where " + mt.Where + " order by " + mt.Order + sortType + "," + mt.PrimaryKey + " " + sortType + ") and " + mt.Where + " order by " + mt.Order + sortType + "," + mt.PrimaryKey + " " + sortType;
            if (mt.PageIndex == 1)
            {
                _strPageSQl = "select top " + mt.PageIndex * mt.PageSize + " " + mt.FiledList + " from " + mt.TableName + " where " + mt.Where + " order by " + mt.Order + sortType + "," + mt.PrimaryKey + " " + sortType;
            }

            DataSet ds = DBUtility.AccessHelper.Query(_strPageSQl);
            TotalRecord = int.Parse(DBUtility.AccessHelper.GetSingle(_strCountSQL).ToString());
            TotalPage = TotalRecord % mt.PageSize == 0 ? TotalRecord / mt.PageSize : TotalRecord / mt.PageSize + 1;
            return ds.Tables[0];
        }



也可以使用存儲過程分頁,這里的參數要返回一共多少頁,當前第幾頁。

create procedure home 
(@pagesize int,
@pageindex int,
@docount bit)
as
if(@docount=1)
select count(*) from binfo
else
begin
 with temptbl as (
SELECT ROW_NUMBER() OVER (ORDER BY time desc)AS Row, * from binfo O )
 SELECT * FROM temptbl where Row between (@pageindex-1)*@pagesize+1 and (@pageindex-1)*@pagesize+@pagesize
end

3.【頁面中使用】

index.asx頁面:

 <webdiyer:AspNetPager ID="Pager22" runat="server" AlwaysShow="true" Font-Size="12px"
                                        CurrentPageButtonClass="cpb" FirstPageText="首頁" LastPageText="尾頁" NextPageText="下一頁"
                                        PrevPageText="上一頁" CustomInfoTextAlign="Right" ShowPageIndexBox="Never" ShowCustomInfoSection="Left"
                                        CenterCurrentPageButton="True" ShowFirstLast="true" ReverseUrlPageIndex="True"
                                        Direction="LeftToRight" Width="100%" OnPageChanging="Pager_PageChanging" ForeColor="Black"
                                        NumericButtonCount="100">
                                    </webdiyer:AspNetPager>

具體參數,可以查下相關的屬性。

index.aspx.cs

           SystemModel.Pager mt = new SystemModel.Pager();
            mt.PageIndex = PageIndex;
            mt.PageSize =分頁數量;
            mt.TableName =表名;
            mt.FiledList = 查詢的內容,如*;
            mt.PrimaryKey = 主鍵;
            mt.Where =條件;
            if (HttpContext.Current.Request["id"] != null)
            {
                mt.Where = mt.Where + " and fid=" + int.Parse(HttpContext.Current.Request["id"].ToString());
            }
            mt.Order = 排序字段;

            mt.SortType = 排序方式(1或2);

            mt.RecorderCount = 0;

            int TotalPage = 1;
            int TotalRecord = 0;
            dtNews = SystemBLL.Pager.GetRecord(mt, ref TotalPage, ref TotalRecord);
            if (dtNews.Rows.Count < 1)
            {
                return;
            }
            DataView dv = dtNews.DefaultView;
            PagedDataSource pds = new PagedDataSource();
            pds.DataSource = dv;
            pds.AllowPaging = true;
            pds.CurrentPageIndex = Pager22.CurrentPageIndex - 1;
            pds.PageSize = Pager22.PageSize;
            this.Pager22.PageSize = mt.PageSize;
            this.Pager22.RecordCount = TotalRecord;
            this.Pager22.CustomInfoHTML = string.Format("共 {0} 頁,當前第 {1} 頁,共 {2} 條記錄", TotalPage, PageIndex, TotalRecord);
            if (TotalRecord <= mt.PageSize)
            {
                this.Pager22.Style.Add("display", "none");
            }
            else
            {
                this.Pager22.Style.Add("display", "block");
            }

這里只有常用的一些屬性,還有自定義url  css之類的

也支持mvc

更多屬性請查看這里:http://www.webdiyer.com/aspnetpager/

效果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM