Contar total de registros de um ObjectDataSource

Por - junho 20, 2011

Demorei mais voltei a postar.

Estou fazendo uma página web que tem uma "gridview" carregada por um "ObjectDataSource" que por sua vez consome uma classe de dados.
Precisei exibir o total de dados retornados em uma "label", todavia é necessário que esse somatório seja exibido através dos dados que eu ja tenho no meu "ObjectDataSource" para que não tenha a necessidade de fazer uma nova requisição na classe de dados, vale lembrar que essa "gridview" esta páginada e não posso contar apenas as "rows".

Como contar os registros do "ObjectDataSource"?

Uma forma simples e rápida é esta:
lblContador.Text = DirectCast(meuObjectDataSource.Select(), DataView).Table.Rows.Count.ToString() & " registro(s) encontrado(s)."
Muito simples converter o método select do "ObjectDataSource" em um DataView e depois trabalhar com ele.

Valew, até a próxima....



VOCÊ PODE GOSTAR

4 comments

  1. Estou recebendo o seguinte erro no "DataSource.Select()":


    Argument not specified for parameter 'arguments' of 'Public Function Select(arguments As System.Web.UI.DataSourceSelectArguments) As System.Collections.IEnumerable'.

    Sabe como resolvê-lo?!
    Obrigado.

    ResponderExcluir
  2. Muito bom, cara! Resolve completamente esse tipo de problema. Obrigado pela ajuda!

    ResponderExcluir
  3. Boa noite,

    Lembrando que quando utiliza o método Select() do ObjectDataSource, é realizada uma nova consulta ao banco de dados. Pesquisando na net encontrei uma forma de fazer a mesma coisa, sem realizar uma nova consulta.

    http://weblogs.asp.net/palermo4/archive/2007/08/02/how-to-access-underlying-data-of-the-objectdatasource.aspx

    Abçs

    ResponderExcluir