令我使用ObjectDataSource配合GridView显示数据的最重要的原因之一就是ObjectDataSource的分页功能,其实
GridView本身就自带一个分页功能,但是GridView自带的分页功能必须把整个数据集绑定到GirdView,然后把分页工作交给
GridView,方便是方便但效率十分低,而ObjectDataSource采用的是要哪一页的数据就取哪一页,性能上明显高不少。
下面结合代码讲解:
页面:
<asp:ObjectDataSource runat="server" ID="ods" TypeName="CertainScienceBLL" SelectMethod="GetVideoSummarys" SelectCountMethod="GetVideoSummarysCount" EnablePaging="true">
</asp:ObjectDataSource>
<asp:GridView DataSourceID="ods" runat="server" ID="gv" AllowPaging="true" PageSize="5" >
<Columns>
<asp:Bound DataTex>
</Columns>
</asp:GridView>
说明:
1.分页时必须将ObjectDataSource的EnablePaging属性和GridView的AllowPaging属性都设置为True,这样分页才能生效;
2.设定分页后,SelectMethod对应的方法必须定义为含int maximumRows, int
startRowIndex两个参数的查询方法,其中maximumRows就是每页的记录数,startRowIndex就是请求页的首条记录在整个数
据集中的索引;
3.设定分页后,要设定SelectCountMethod属性,使其指向查询整个数据集记录数的方法。注意是获取整个数据集的记录数,而不是某一页的记录数。
就这样分页就完成了,是不是很简单呢!!
时间: 2024-09-13 18:08:27