Ler todas as paginas de um gridview

14/04/2010

Estou usando o recurso de paginação do gridview mas ao ler a coleção de linhas consigo acessar apenas as linhas da página atual. Como eu poderia acessar as linhas de  todas as paginas?
Ademilso Peres

Ademilso Peres

Curtidas 0

Respostas

Luiz Maia

Luiz Maia

14/04/2010

Ademilso, Pode explicar melhor por favor? Não entendi seu problema... Fico no aguardo... Att
Luiz Maia
GOSTEI 0
Ademilso Peres

Ademilso Peres

14/04/2010

 for(int linha = 0; linha < this.GridUnidadeBasica.Rows.Count; linha++) Este comando acessa apenas a linhas da página atual é preciso todas as linhas.
GOSTEI 0
Luiz Maia

Luiz Maia

14/04/2010

Ademilso, é simples, faz um foreach no DataTable.   foreach(DataRow dr in DataTable1.Rows)   É isto?   Aguado...   Att Luiz Maia
GOSTEI 0
Ademilso Peres

Ademilso Peres

14/04/2010

Não, não é isso, estou falando do gridview. A coleção rows está me retornando apenas as linhas da pagina que está sendo exibida eu presiso ler todas as linhas, fui claro?
GOSTEI 0
Luiz Maia

Luiz Maia

14/04/2010

Ademilso,   Não estou entendendo o que realmente precisa. Me fale qual funcionalidade esta desenvolvendo o que esta precisando em termos de método.   Fico no aguardo Att Luiz Maia
GOSTEI 0
Ademilso Peres

Ademilso Peres

14/04/2010

A palavra página que usei na mensagem anterior se refere a paginação do componente gridview        Meu grid exibe isto           Dados               Dados                         Dados                 Dados                                         1 2 3 4 5 6           -> numero de paginas     Quando clico no "1" a coleção rows me retorna apenas os dados que eu estou vendo, quero poder acessar todos os dados.
GOSTEI 0
Luiz Maia

Luiz Maia

14/04/2010

So usando a fonte do DataSource para fazer isto. Pega o DataTable que vc usa no DataSource, nele tem todos os registros. Pode ser?   Em qual momento precisa destes registros? Em algum evento de clique ou pode ser num loop?  
GOSTEI 0
Ademilso Peres

Ademilso Peres

14/04/2010

Sim, pode ser.
GOSTEI 0
Ademilso Peres

Ademilso Peres

14/04/2010

Qual é a propriedade do SqlDataSource que me retorna o datatable?
GOSTEI 0
Luiz Maia

Luiz Maia

14/04/2010

Ademilso, o metodo abaixo retorna um DataTable:   public DataTable RetornaRegistros(string produto, int categoria) { SqlConnection con = new SqlConnection(conexao); StringBuilder sb = new StringBuilder(); sb.Append("SELECT "); sb.Append(" P.COD_PRODUTO, "); sb.Append(" D.NOM_DEPARTAMENTO, "); sb.Append(" C.NOM_CATEGORIA, "); sb.Append(" P.NOM_PRODUTO, "); sb.Append(" P.VLR_PRECO "); sb.Append("FROM "); sb.Append(" CATEGORIA C"); sb.Append(" INNER JOIN DEPARTAMENTO D ON C.COD_DEPARTAMENTO = D.COD_DEPARTAMENTO "); sb.Append(" INNER JOIN PRODUTO P ON C.COD_CATEGORIA = P.COD_CATEGORIA"); if (produto.Length > 0 || categoria > 0) { sb.Append(" WHERE "); if (produto.Length > 0) { sb.Append(" P.NOM_PRODUTO LIKE '%" + produto + "%' AND "); } if (categoria > 0) { sb.Append(" C.COD_CATEGORIA = " + categoria + " AND "); } sb.Remove(sb.ToString().Length - 4, 4); } DataSet ds = new DataSet(); con.Open(); SqlDataAdapter da = new SqlDataAdapter(sb.ToString(), con); da.Fill(ds); con.Close(); if (ds.Tables[0].Rows.Count > 0) { return ds.Tables[0]; } else { return null; } }   Aguardo seu retorno se é isto mesmo que precisa, ok? Abraços Att Luiz Maia
GOSTEI 0
Ademilso Peres

Ademilso Peres

14/04/2010

Mas eu quero usar o mesmo objeto datatable que o gridview usa internamente para exibir os dados, não quero refazer a pesquisa.
GOSTEI 0
Luiz Maia

Luiz Maia

14/04/2010

Pois então, é isto mesmo. So te mandei o exemplo abaixo para verificação mesmo. Com este metodo vc pode popular o GridView e ainda um DataTable, sem problemas...   Me mande seu codigo onde popula o GridView.     Aguardo Att Luiz Maia
GOSTEI 0
POSTAR