我有一個Web應用程序正在使用具有自己的內置分頁的數據存儲。 PagedResult類告訴我總頁數。我想這樣做(我結合ASP.NET的GridView後)做到這一點:您可以「分配」ASP.NET GridView的PageCount屬性嗎?
MyGridView.PageCount = thePageCount;
,然後讓GridView的神奇打造分頁鏈接,因爲它通常會如果它做的事情本身。
問題是,「PageCount」是一個只讀屬性...所以,我怎麼能做到這一點?
我有一個Web應用程序正在使用具有自己的內置分頁的數據存儲。 PagedResult類告訴我總頁數。我想這樣做(我結合ASP.NET的GridView後)做到這一點:您可以「分配」ASP.NET GridView的PageCount屬性嗎?
MyGridView.PageCount = thePageCount;
,然後讓GridView的神奇打造分頁鏈接,因爲它通常會如果它做的事情本身。
問題是,「PageCount」是一個只讀屬性...所以,我怎麼能做到這一點?
要使用內置分頁,GridView將與數據源進行交互。 GridView具有PageSize的可設置屬性。
如果使用ObjectDataSource,則同時配置SelectMethod和SelectCountMethod。您可以修改您的PagedResult類以返回記錄數而不是頁數,或者將PagedResult調用包裝在一個方法中,以將頁計數轉換爲記錄計數(PageCount * PageSize)。
如果您的PagedResult類僅用於支持Web應用程序,則應考慮將其修改爲更像典型的分頁數據源。
您可以創建自己的類來擴展GridView並覆蓋PageCount getter方法以從PagedResult類中返回值。
使用ObjectDataSource控件,將其綁定到您的GridView,併爲SelectCoutnMethod屬性設置處理程序。您可能必須爲您的類編寫小封裝器對象,以檢索與ObjectDataSource控件接口的數據。
一些鏈接來幫助你:
ObjectDataSource Web Server Control Overview
ObjectDataSource Class
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.
我已經反映在GridView,它的實際使用私有字段...所以覆蓋大衆「頁頁次」場實際上不會工作。雖然好想。 – 2008-11-13 00:21:30