日期:2014-05-19  浏览次数:21148 次

winform中分页的问题怎么实现?不求代码?只给个思路就给分?
一个项目中,winform中的datagridView显示数据,不是绑定的,由于数据较多,现要分页显示,查了许多相关的例子,包括MSDN上的例子,都是要在一个数据表中有个主键就好做,但是如果多个表查询得到的一个结果集,怎么分页呢?排除一次读取到dataset中,分页显示?求个思路

------解决方案--------------------
数据是如何获取的呢?并不是说一定要又主键,只是没有主键的话你的分页是按什么排序?
------解决方案--------------------
###多个表查询得到的一个结果集
什么意思﹖有沒有取出﹖如果沒有取出﹐就沒有什么了﹐相當于在視圖中查詢﹐有可排序字段就行了﹐利用SELECT TOP語句作下變化就可以了。
如果取出到記錄集中,就用DataView和Filter或AutoID來設定數據源
------解决方案--------------------
加入ASP。NET C#群吧,群号是: 1873156
------解决方案--------------------
MS用SQL语句就可以完成分页查询了和form端没什么关系
------解决方案--------------------
在gridview控件属性中有一个PageSize的属性吗,
------解决方案--------------------
select top 100 * from (select top i*100 from 表名) order by 列名 desc
i表示正在查看的页数,可以用个变量记录下的.
点击下一页时i+1.
------解决方案--------------------
在内存中建一个表,设定主键,将这个表与datagridview绑定。
------解决方案--------------------
确定所要查找的结果集,根据页的大小的到页的总数,根据页索引和页的大小,找出这些数据,并绑定在网格上。就可以了。关键是用SQL语句找到对应索引页的数据表。
------解决方案--------------------
请参考:
http://www.xproer.com/web/article/data.aspx?aid=174&cid=14&aname=%u4E0A%u4E0B%u9875%u5206%u9875%u7B97%u6CD5%u8BB2%u89E3&atime=2007-4-23 13:02:54&alook=124&author=Xproer

或者下载XproerBBS源码学习,已开源
由于空间比较小我将它上传到了QQ空间上
QQ群号:6259764

两个文件
FoxBBS 论坛源代码
images 论坛图片文件,将它他们解压到同一个目录中,推荐解压到FoxBBS文件夹中

开发环境:Microsoft .NET Framework1.1
语言:C#.NET 1.1
数据库: ACCESS

论坛地址:www.xproer.com/bbs/index.html

说明:
由于论坛项目是使用我本地的路径,所以如果下载下来后直接打开项目的话可能会出现路径错误。
我本地设置如下
c:\wwwroot\FoxBBS\

朋友们下载后最好能建一个FoxBBS 文件夹,然后将 FoxBBS 时面的所有文件解决到 FoxBBS 文件夹里面

XproerBBS简介:
http://www.xproer.com/bbs/thread-3-606.aspx
XproerBBS如何后台管理:
http://www.xproer.com/bbs/thread-3-602.aspx
XproerBBS学习教程-数据库配置:
http://www.xproer.com/bbs/thread-3-605.aspx
XproerBBS文件说明:
http://www.xproer.com/bbs/thread-3-613.aspx
XproerBBS文件夹结构图:
http://www.xproer.com/bbs/thread-3-614.aspx
XproerBBS数据表结构图:
http://www.xproer.com/bbs/thread-3-617.aspx
XproerBBS存储过程:
http://www.xproer.com/bbs/thread-3-610.aspx
XproerBBS视图:
http://www.xproer.com/bbs/thread-3-611.aspx
XproerBBS存储过程调用实例:(每天10个更新)
http://www.xproer.com/bbs/thread-3-612.aspx
manage文件夹说明(含文件)
http://www.xproer.com/bbs/thread-3-622.aspx
js文件夹说明(含文件)
http://www.xproer.com/bbs/thread-3-623.aspx
Operate文件夹说明(前台管理,含文件)
http://www.xproer.com/bbs/thread-3-624.aspx
USControls文件夹说明(用户控件,含文件)
http://www.xproer.com/bbs/thread-3-625.aspx
------解决方案--------------------
如果楼主要把多个表查询得到的结果集进行分页,那么我建议先建一个视图...

然后在这个视图上用存储过程分页....当然需要一个主键的

一个简单的分页语句

select top pagecount * from someview where id not in ( select top pagecount * (pageindex-1) from someview)



------解决方案--------------------
网上有大把的分页存储过程,楼主下个来研究研究就明白了
------解决方案--------------------
用分页存储过程,里边有临时表,或表变量
------解决方案--------------------
用存储过程,把当前查询条件防在模块变量中!