vb.net - 在多页 Gridview 中获取行数?

标签 vb.net gridview label datasource rowcount

当我尝试执行以下操作时:

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

更新:我弄明白了:

 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

最佳答案

如果您正在使用 SqlDataSource 寻找此问题的答案,请使用相同的事件,但只需使用 e.AffectedRows 进行计数。

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

这对我来说非常有效。

关于vb.net - 在多页 Gridview 中获取行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9081795/

相关文章:

vb.net - 如何抑制VS2005中特定函数的编译器警告(VB.Net)

android - Android 中的 GMGridView 等价物

r - 如何使用 ggplot2 R 增加整个图的宽度

mysql - vb.net 中的通用搜索框并从多个表中进行检查

.net - 在.net中查找控件

android - 在单击的网格项目顶部再显示一张图像

c# - 如何从 Android MainActivity.cs 文件更改 Xamarin.forms 中页面标签的文本?

ios - 如何使用标签文本 (Int) 值编写 if 条件

vb.net - 如何在运行时更改列表框中的选定项文本?

gridview - Yii2 数据方法帖子在 gridView 中不起作用