VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1184|回复: 9

如何使用 GridView 进行高效翻页?

[复制链接]

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-1-2 23:10:01 | 显示全部楼层 |阅读模式
比如说大数据量的翻页。依靠GridView本身自带的翻页功能似乎效率很低,简直不能用``请问大家通常用什么方式进行翻页操作/或介绍些其他控件给我。非常感谢!!!!
回复

使用道具 举报

0

主题

13

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-1-3 16:00:01 | 显示全部楼层
可以用这个分页控件:http://www.iceice930.com
回复

使用道具 举报

0

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 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;
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-3-28 11:15:01 | 显示全部楼层
ROW_NUMBER() OVER(Order By ProductID Desc) AS RowNum from Product

这句话我怎么看不明白。。

ROW_NUMBER() 指的是什么呢?
还有 OVER 这个函数是什么意思?
回复

使用道具 举报

0

主题

26

帖子

20.00

积分

新手上路

Rank: 1

积分
20.00
发表于 2020-3-29 09:45:02 | 显示全部楼层
听说存储过程分页比较流行,即便是大容量也可以应对的。

GridView的分页很慢吗?不会吧~~~我测试了几十万条数据,速度挺快的。
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-5-5 11:00:02 | 显示全部楼层
GridView的分页原理是将所有数据读出到 DataSet 中,然后再进行分页.这么以来不是造成极大的浪费?如果存储过程翻页在ACCESS中就不行了吧?应该要写到程序中,那么该如何写?
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-28 07:45:01 | 显示全部楼层
LZ在海西啊?
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-28 08:00:01 | 显示全部楼层
建议大家都看看 http://www.cnblogs.com/白鸽天使/MyPosts.html 这里介绍 NicPetShop 的文章

这里面分页性能较好,用的是 row_number()
而且带了很多扩展方法
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-28 08:30:01 | 显示全部楼层
存储过程或分页控件
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-6 14:45:01 | 显示全部楼层
GridView自带的分页功能很慢
自己绑定数据源吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表