我看了一下DataGrid的自动分页设置参数,估计其是读出所数据,然后根据设置的参数,计算出每页要显示的记录起始和结尾位置,然后显示。
每翻一次页要重新绑定一次,显然又重新读了一次全部数据。。。这种分页显示的代价似乎很高,因为每次都要读全部记录,而只用“一小块记录”。。。浪费!
ASP.net中DataGrid的自动分页功能太简单,不利于做出好看的导航条。于是我自己编写了分页模块,做法与上述相同,参照下图的图示。
=====================
同样,为了每次显示的一个页面,要读出所有记录,每翻一次页就得读一次数据库,而且本页之外的其它记录读出来后根本没用,资源浪费啊。。。。(假如每次只取得自己想要的记录,这样效率高且节约资源。。。呵呵,,,,)
=========================
0、DataGrid设成不分页
1、首先读出所要显示的数据放在一个DATATABLE中,但不直接将其绑定到DataGrid中
2、根据分页的大小(每页显示的记录条数),和要显示的分页号(即第几页),编写子程序计算出该页的要显示的首记录和尾记录号,将“这一块数据”放到一个DataView中。
3、将DataView作为DataGrid的数据源 ,并绑定。
========================
OK了!
图示如下:
图片如下:
这是完成的分页导航显示页面的初稿:
图片如下: