在多页网格视图中获取行数?

Posted

技术标签:

【中文标题】在多页网格视图中获取行数?【英文标题】:Get Row Count in MultiPage Gridview? 【发布时间】:2012-02-23 07:19:22 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

如果您正在使用 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

这对我来说非常有效。

【讨论】:

【参考方案2】:
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

【讨论】:

以上是关于在多页网格视图中获取行数?的主要内容,如果未能解决你的问题,请参考以下文章

在多线程环境中更新 DataGrid 视图

Android:从网格视图中获取价值

Asp.net 在网格视图控件中获取摘要页脚

ExtJS Grid 呈现的行数超过了 pagesize 中指定的行数

我正在获取图像列表视图,而不是以网格格式显示

我正在尝试使用此代码制作网格视图动画,但我没有使用此代码获取网格视图动画。你能帮我怎么做吗?