我有一个使用数据存储的Web应用程序,该数据存储具有内置的分页功能。 PagedResult类告诉我总页数。我想做什么(在绑定我的ASP.NET GridView之后)执行此操作:
MyGridView.PageCount = thePageCount;
然后让GridView神奇地构建分页链接,就像通常自己做的那样。
问题是“PageCount”是一个只读属性......那么,我该怎么做呢?
答案 0 :(得分:2)
要使用内置分页,GridView会与数据源进行交互。 GridView具有PageSize的可设置属性。
如果使用ObjectDataSource,则同时配置SelectMethod和SelectCountMethod。您可以修改PagedResult类以返回记录计数而不是页面计数,或者将PagedResult调用包装在方法中以将页面计数转换为记录计数(PageCount * PageSize)。
如果您的PagedResult类仅用于支持Web应用程序,则应考虑将其修改为更像典型的分页数据源。
答案 1 :(得分:0)
您可以创建自己的类来扩展GridView并覆盖PageCount getter方法以从PagedResult类返回值。
答案 2 :(得分:0)
使用ObjectDataSource控件,将其绑定到GridView,并为SelectCoutnMethod属性设置处理程序。您可能必须为您的类编写一个小包装器对象,以检索与ObjectDataSource控件接口的数据。
一些帮助您的链接:
ObjectDataSource Web Server Control Overview
ObjectDataSource Class
答案 3 :(得分: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.