【问题标题】:Can I use <asp:dataGrid> pager with database paging performance?我可以使用具有数据库分页性能的 <asp:dataGrid> 分页器吗?
【发布时间】:2010-10-12 11:53:20
【问题描述】:

我有一个在数据库级别处理分页的存储过程,接收@PageSize 和@PageIndex。给定页面大小,我可以创建另一个返回 @PageCount

我可以使用控制分页器使数据网格在数据库级别进行分页,而不必在控件之外进行开发吗?

似乎默认使用数据网格分页接收所有查询结果,并在数据库外进行分页。这对我们不利,不必要的超载。

【问题讨论】:

    标签: c# .net asp.net data-binding paging


    【解决方案1】:

    在 aspx 上设置 AllowCustomPaging="true"。当数据绑定时:

    mygrid.VirtualItemCount = pageCount; 
    mygrid.DataSource = mysource; 
    mygrid.DataBind();
    

    根据您的评论“我使用 ADO 连接、命令等,并在将结果加载到对象列表(我的实体类)中后,我制作 datagrid.DataSource = List;”

    【讨论】:

    • 我正在尝试这样做,考虑到这个链接:stackoverflow.com/questions/475982/…
    • 是一样的 :) 注意页面加载中的代码,你不能错过 virtualitemcount
    • 您也不能错过 AllowCustomPaging - 您的意思是您尝试过,还是您现在正在尝试? / 如果您已经尝试过,请再次仔细查看
    • 顺便说一句,为了清楚起见,您的代码处理分页(在您使用 sp 的情况下),您只需指定要在 DataSource 上显示的当前页面。
    【解决方案2】:

    如果您使用 ObjectDataSource 控件作为 GridView 的 DataSourceID,那么它可以非常无缝地工作。 ObjectDataSource 控件有几个参数,您可以在其中告诉它 PageIndex 和 MaxRows 属性的名称。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 2019-10-19
    • 2020-01-07
    • 1970-01-01
    相关资源
    最近更新 更多