Ok, vì vậy tôi đang cố gắng để phân trang tùy chỉnh của mình xuất hiện trên Telerik RadGrid (tương tự như asp:Gridview
), nhưng tôi vẫn đang va vào tường. (phần đầu tiên của câu hỏi của tôi đã được trả lời here)GridView (RadGrid) và Phân trang tùy chỉnh
Vì vậy, tôi đã thực hiện đề xuất. Tôi sử dụng Stored Proc sau
ALTER PROCEDURE [dbo].[bt_HealthMonitor_GetAll]
(
@StartRowIndex int,
@MaximumRows int
)
AS
SET NOCOUNT ON
Select
RowNum,
[ID],
[errEx],
[errURL],
[errSource],
[errUser],
[errMessage],
[errIP],
[errBrowser],
[errOS],
[errStack],
[errDate],
[errNotes]
From
(
Select
[ID],
[errEx],
[errURL],
[errSource],
[errUser],
[errMessage],
[errIP],
[errBrowser],
[errOS],
[errStack],
[errDate],
[errNotes],
Row_Number() Over(Order By [ID]) As RowNum
From dbo.[bt_HealthMonitor] t
)
As DerivedTableName
Where RowNum Between @StartRowIndex And (@StartRowIndex + @MaximumRows)
Order By [ID] Desc
Sau đó, một thủ tục lưu trữ để có được số lượng kỷ lục
ALTER PROCEDURE [dbo].[bt_HealthMonitor_GetRecordCount]
AS
SET NOCOUNT ON
return (Select Count(ID) As TotalRecords From bt_HealthMonitor)
Và tôi đang sử dụng LINQ to SQL để ràng buộc vào RadGrid tôi
Protected Sub RadGrid1_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs)
Dim startRowIndex As Integer = (RadGrid1.CurrentPageIndex * RadGrid1.PageSize)
Dim maximumRows As Integer = RadGrid1.PageSize
Dim HealthMonitorDC As New DAL.HealthMonitorDataContext
Dim r = HealthMonitorDC.bt_HealthMonitor_GetAll(startRowIndex, maximumRows)
RadGrid1.DataSource = r
End Sub
Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
Dim HealthMonitorDC As New DAL.HealthMonitorDataContext
Dim count = HealthMonitorDC.bt_HealthMonitor_GetRecordCount()
RadGrid1.MasterTableView.VirtualItemCount = count.ReturnValue
RadGrid1.VirtualItemCount = count.ReturnValue
End Sub
Nhưng vấn đề tôi gặp phải cing là lưới chỉ lấy 10 hàng đầu tiên (như mong đợi) nhưng tôi cần lấy nó để nó nhận ra rằng có 200 hàng trong bảng sao cho các biểu tượng phân trang xuất hiện.
Nếu tôi sử dụng DropDownList để hiển thị 50 hồ sơ, sau đó 50 xuất hiện, nhưng vẫn không có biểu tượng phân trang để làm cho tôi tiếp theo 50.
Tôi đang làm gì sai?
Cảm ơn một lần nữa @ Martin cho sự giúp đỡ. Tôi đã đăng các phát hiện của mình lên blog của mình để những người khác hy vọng tìm và sử dụng http://dotnetblogger.com/post/2010/03/07/RadGrid-with-Custom-Paging-Sorting-Filtering.aspx –