询问如何在datagrid使用主次表的时候分页?
首先,我使用主次表来定义表的关系。
次表动态指定数据源
dataSource='<%#((System.Data.DataRowView)Container.DataItem).CreateChildView("tableRelation")%>'>
使用查询语句的是最简单
StringBuilder sb = new StringBuilder("select * from test select * from test2");
使用数据适配器和dataset填充数据集
这样会有2个table
我分别设定2个tablename为"test1","test2"! 父表为test1,子表为test2
建立关系
DataRelation tableRelation = new DataRelation("tableRelation",Parent,Child,false);
为dataset的关系集合添加关系对象
datasetds.Relation.add(tableRelation);
而datagrid的时候绑定数据源是 table1.defaultview.
运行正常!
现在我想询问,如何分页?
我先说说我的想法,希望各位高手指点一下,谢谢。
我曾经想过使用sql分页。。
也就是select top来分页。。但是本人的sql语句不擅长,而且也想知道还有其它的分页方法否?
我以前的分页是在填充dataset的时候分别填充不同的table来获取相应需要的数据源。
但是这次有2个互相关联的表。
如果使用全部把表都读入dataset然后每次分页再全部读一次表,这样会造成系统资源内存不够。
因为数据可能有10-100万条。。。而且同时操作的人。。最高可能会有将近100人。。
这个方法肯定会造成服务器瘫痪的!
但是我就不知道还有什么方法能尽量占用少系统资源的状况下分页呢??
希望各位高手指教!
谢谢
如果分数不够,还可再加!