1

我有一个 Web 应用程序正在使用具有自己的内置分页的数据存储。PagedResult 类告诉我总页数。我想做什么(绑定我的 ASP.NET GridView 之后)这样做:

MyGridView.PageCount = thePageCount;

然后让 GridView 神奇地构建分页链接,就像它自己做事情一样。

问题是“PageCount”是一个只读属性......那么,我怎样才能简单地做到这一点?

4

4 回答 4

2

要使用内置分页,GridView 与数据源进行交互。GridView 有一个可设置的 PageSize 属性。

如果使用 ObjectDataSource,则同时配置 SelectMethod 和 SelectCountMethod。您可以修改 PagedResult 类以返回记录计数而不是页计数,或者将 PagedResult 调用包装在将页计数转换为记录计数 (PageCount * PageSize) 的方法中。

如果您的 PagedResult 类仅用于支持 Web 应用程序,则应考虑将其修改为更像典型的分页数据源。

于 2008-11-12T23:37:00.953 回答
0

您可以创建自己的类来扩展 GridView 并覆盖 PageCount getter 方法以从 PagedResult 类返回值。

于 2008-11-12T23:09:36.717 回答
0

使用 ObjectDataSource 控件,将其绑定到您的 GridView,并为 SelectCoutnMethod 属性设置处理程序。您可能必须为您的类编写小的包装对象,以检索与 ObjectDataSource 控件接口的数据。

一些可以帮助您的链接:

ObjectDataSource Web 服务器控件概述
ObjectDataSource 类

于 2008-11-12T23:38:45.707 回答
0
       Dim myCount as Integer = 1 'this sets the page count to 1 
       While (oreader.Read())
            myCount += 1 'increments once for everytime a item is counted
            'this sets an array for the items to go into
            idFname = oreader.GetOrdinal("workCenter")
            'this retrieves the values at those indices
            fName = oreader.GetValue(idFname)
            BulletedList1.Items.Add(fName)
        End While

    Catch ex As Exception
        BulletedList1.Items.Add("No Workcenters Found")
    Finally
        oreader.Close()
        oconn.Close()
    End Try
End If
Me.insertItemForm.PagerSettings.PageButtonCount = myCount 'sets the page count to number of items in gridview or formview etc.
于 2009-11-12T20:12:06.010 回答