Получить количество строк в MultiPage Gridview? - PullRequest
3 голосов
/ 31 января 2012

, когда я пытаюсь сделать следующее:

lblTotal.text  = gwGrid.rows.count()

я всегда получаю 50, это размер моей страницы. Как я могу получить количество возвращенных ВСЕХ записей, а не только тех, которые отображаются на этой странице?

Я также попробовал событие Selected в моем источнике данных:

Protected Sub ObjectDataSource1_Selected(ByVal sender As Object, ByVal e As ObjectDataSourceStatusEventArgs)

    If e.Exception Is Nothing AndAlso e.ReturnValue IsNot Nothing Then
        Dim dt As DataTable = TryCast(e.ReturnValue, DataTable)
        Dim totalRecordCount As Integer = dt.Rows.Count
    End If

End Sub

но я получаю следующую ошибку:

Ссылка на объект не установлена ​​для экземпляра объекта. на этой линии: Строка 85: Dim totalRecordCount As Integer = dt.Rows.Count

Udpate: я понял:

 Protected Sub ObjectDataSource1_Selected(ByVal sender As Object, ByVal e As ObjectDataSourceStatusEventArgs)
        If e.Exception Is Nothing Then
            Dim dt As DataSet = DirectCast(e.ReturnValue, DataSet)
            If dt IsNot Nothing Then
                lblTotal.Text = dt.Tables(0).Rows.Count.ToString()
            Else
                lblTotal.Text = "0"
            End If
        End If
    End Sub

Ответы [ 2 ]

2 голосов
/ 24 мая 2012

Если вы ищете ответ на этот вопрос с помощью SqlDataSource, используйте то же событие, но просто используйте e.ActedRows для вашего счета.

Protected Sub WorkerData_Selected(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceStatusEventArgs) Handles WorkerData.Selected

    If e.Exception Is Nothing Then

        Dim rows As Integer = e.AffectedRows

        'AddMessage(rows.ToString & " Workers selected", UpdateMessage)

    End If

End Sub

Это отлично сработало для меня.

0 голосов
/ 01 февраля 2012
Protected Sub ObjectDataSource1_Selected(ByVal sender As Object, ByVal e As ObjectDataSourceStatusEventArgs)
        If e.Exception Is Nothing Then
            Dim dt As DataSet = DirectCast(e.ReturnValue, DataSet)
            If dt IsNot Nothing Then
                lblTotal.Text = dt.Tables(0).Rows.Count.ToString()
            Else
                lblTotal.Text = "0"
            End If
        End If
    End Sub
...