2012-01-31 3 views
3

, когда я пытаюсь сделать следующее:Получите количество строк в MultiPage Gridview?

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 

ответ

0
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

Если вы ищете ответ на этот вопрос, используя 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 

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

+0

+10 если бы я мог! Очень просто, очень хорошо! – Marcel

Смежные вопросы