|
发表于 2020-1-3 17:21:01
|
显示全部楼层
我通常的做法是在数据层返回所需纪录以及符合条件的纪录总数。
然后自定义一个分页导航控件显示出相应的页码数!
以下是我在分页时数据层的代码片断。基于SQL 2005的
StringBuilder strSQL=new StringBuilder();
strSQL.Append("SELECT * FROM (");
strSQL.Append("SELECT ProductID,ProductNO,CategoryID,CategoryTitle,ProductName,MarketPrice,MemberPrice,ProductParams,Description,ImagesCount,CreateDate,ROW_NUMBER() OVER(Order By ProductID Desc) AS RowNum from Product");
strSQL.Append(") AS T WHERE RowNum BETWEEN @StartRow AND @EndRow");
IList<ProductInfo> tList = new List<ProductInfo>();
SqlParameter[] parameters = {
new SqlParameter("@StartRow",SqlDbType.Int),
new SqlParameter("@EndRow",SqlDbType.Int)
};
parameters[0].Value = (index - 1) * pagesize;
parameters[1].Value = index * pagesize; |
|