比如说大数据量的翻页。依靠GridView本身自带的翻页功能似乎效率很低,简直不能用``请问大家通常用什么方式进行翻页操作/或介绍些其他控件给我。非常感谢!!!!

解决方案 »

  1.   

    可以用这个分页控件:http://www.webdiyer.com
      

  2.   

    我通常的做法是在数据层返回所需纪录以及符合条件的纪录总数。
    然后自定义一个分页导航控件显示出相应的页码数!
    以下是我在分页时数据层的代码片断。基于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;
      

  3.   

    ROW_NUMBER() OVER(Order By ProductID Desc) AS RowNum from Product这句话我怎么看不明白。。ROW_NUMBER() 指的是什么呢?
    还有 OVER 这个函数是什么意思?
      

  4.   

    听说存储过程分页比较流行,即便是大容量也可以应对的。GridView的分页很慢吗?不会吧~~~我测试了几十万条数据,速度挺快的。
      

  5.   

    GridView的分页原理是将所有数据读出到 DataSet 中,然后再进行分页.这么以来不是造成极大的浪费?如果存储过程翻页在ACCESS中就不行了吧?应该要写到程序中,那么该如何写?
      

  6.   

    建议大家都看看 http://www.cnblogs.com/kellynic/MyPosts.html 这里介绍 NicPetShop 的文章这里面分页性能较好,用的是 row_number()
    而且带了很多扩展方法
      

  7.   

    GridView自带的分页功能很慢
    自己绑定数据源吧