大鱼 发表于 2005-6-27 19:13

[原创]DATAGRID的分页程序以及代码下载

今天回顾了以前弄的.NET程序。发现年前弄的一个ASP.NET分页程序似乎还不错了。呵呵。
下面将其发出来,希望对大家能有所帮助了。

下载地址:点击这里

主要实现的功能是被开DATAGRID读取所有表数据的的分页程序。
关键视线代码:
只读取需要分页中某一页面的新闻条数。
         if (intStartIndex==0 )
         {
            strSelect = "Select top "+dgrdProducts.PageSize+" newsid,title,classcn,classen From newswhere classen='"+classen+"' order by newsid desc";
         }
         else
         {
         strSelect = "Select top "+dgrdProducts.PageSize+" newsid,title,classcn,classenFrom newswhere newsid < (select min(newsid) from (select top "+topnum+" newsid from news where classen='"+classen+"' order by newsid desc ) as T) and classen='"+classen+"' order by newsid desc";

         }

设置DATAGRID的页码。
            classen = Request.Params["classen"];
      
            strSelect = "SelectCount(*) From news where classen='"+classen+"'";
            cmdSelect = new SqlCommand( strSelect, conNorthwind );
            conNorthwind.Open();
            dgrdProducts.VirtualItemCount = (int)cmdSelect.ExecuteScalar();


其中最主要的是将SQL查询所得的新闻总页码值负给DAGRID的页码值。dgrdProducts.VirtualItemCount就是DATAGRID页码值的参数。

大鱼原创,欢迎爱好。NET的各位,共同研究研究。

hjack 发表于 2005-6-27 21:24

用户名: hjack [退出登录]
作者: 大鱼
评分: 积分 15 点
标题: [原创]DATAGRID的分页程序以及代码下载
------------------------------
感谢对本版的支持,希望继续支持。

wool王 发表于 2005-6-27 23:08

不了解.net的说...不过感觉用sql语句来做分页对效率方面应该比较有好处...偶做分页方法比较低级,,,靠的是JDBC的ResultSet游标移动来分页的...

楼主and斑竹不妨讨论下两种分页方法效率问题...

joe_233 发表于 2005-6-27 23:08

这是连MS SQL的吧?Select top不可以用在ORC 跟MYSQL上

hjack 发表于 2005-6-28 00:03

当然是sql语句分页方法的效率高。
数据量越大,差别越明显。

wool王 发表于 2005-6-28 00:56

jojo...select top好像也可以用在mysql哦...

他写.net的理所当然连的是sqlserver吧...

wool王 发表于 2005-6-28 01:16

hjack在 2005-6-28 00:03 发表:

当然是sql语句分页方法的效率高。
数据量越大,差别越明显。

不过如果这么分页好像一个语句要select好几次,,,这样不是会降低效率吗?

hjack 发表于 2005-6-29 13:50

具体内部的机制是怎样实现的,我也不是很清楚

wool王 发表于 2005-6-29 22:50

sql是偶的薄弱环节...有机会跟楼上请教些数据库的知识...听joe说你数据库方面很强的说...

剑乱 发表于 2005-6-30 08:16

两种做法其实各有利弊。没有哪重一定就好

hjack 发表于 2005-6-30 11:40

wool王在 2005-6-29 14:50 发表:

sql是偶的薄弱环节...有机会跟楼上请教些数据库的知识...听joe说你数据库方面很强的说...

略懂皮毛而已。。

joe_233 发表于 2005-6-30 11:43

我记得select top 不可以用在MYSQL上哦。MYSQL是可以用计算数据总量,然后按每页显示数据在做选择。
楼主的select top 在数据量大的时候越往后的页使用的时间就越长。

wool王 发表于 2005-6-30 18:30

楼上...偶也不太记得,,,其实...
页: [1]
查看完整版本: [原创]DATAGRID的分页程序以及代码下载