Ok, así que estoy tratando de obtener mi paginación personalizada en el Telerik RadGrid (similar al asp:Gridview
), pero todavía estoy golpeando una pared. (la primera parte de mi pregunta fue respondida here)GridView (RadGrid) y Paginación personalizada
Así que he implementado la sugerencia. Yo uso el siguiente almacenados Proc
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
Luego otro procedimiento almacenado para obtener el número de registros
ALTER PROCEDURE [dbo].[bt_HealthMonitor_GetRecordCount]
AS
SET NOCOUNT ON
return (Select Count(ID) As TotalRecords From bt_HealthMonitor)
y estoy usando LINQ a SQL para unirse a mi RadGrid
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
Pero el problema soy experien cing es que la cuadrícula solo capta las primeras 10 filas (como se esperaba), pero necesito obtenerla para que reconozca que hay 200 filas en la tabla para que aparezcan los iconos de paginación.
Si utilizo la lista desplegable para mostrar 50 registros, a continuación, 50 se presenta, pero todavía no hay iconos de paginación para conseguirme a la siguiente 50.
¿Qué estoy haciendo mal?
Gracias de nuevo por @ Martin la ayuda. Publiqué mis hallazgos en mi blog para que otras personas puedan encontrar y utilizar http://dotnetblogger.com/post/2010/03/07/RadGrid-with-Custom-Paging-Sorting-Filtering.aspx –