GridView (RadGrid) e paginação personalizada

Ok, estou tentando fazer a paginação personalizada no Telerik RadGrid (semelhante àasp:Gridview), mas ainda estou batendo em uma parede. (a primeira parte da minha pergunta foi respondidaaqui)

Então, eu implementei a sugestão. Eu uso o seguinte procedimento armazenado

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

Em seguida, outro procedimento armazenado para obter a contagem de registros

ALTER PROCEDURE [dbo].[bt_HealthMonitor_GetRecordCount]

AS
SET NOCOUNT ON

return (Select Count(ID) As TotalRecords From bt_HealthMonitor)

E eu estou usando LINQ to SQL para ligar ao meu 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

Mas o problema que estou enfrentando é que a grade pega apenas as 10 primeiras linhas (conforme o esperado), mas preciso obtê-la para que reconheça que há 200 linhas na tabela para que os ícones de paginação apareçam.

Se eu usar a lista suspensa para exibir 50 registros, 50 aparecerão, mas ainda não haverá ícones de paginação para chegar aos próximos 50.

O que estou fazendo errado?

questionAnswers(3)

yourAnswerToTheQuestion