Tiago_BB 0 Denunciar post Postado Janeiro 15, 2010 Ola pessoal. Estou tentando ordenar um datatable através do gridview mas nãoe stou conseguindo. Estou fazendo da seguinte forma: 'Declaro um gridview e passo meu datatable com os dados Dim dv As New DataView(dtConsulta) 'Ordeno o gridview de acordo com a coluna NOTA dv.Sort = "NOTA" 'carrego um datagrid com os dados do grid view datagrid.DataSource = dv Porém o grid não carrega com os dados ordenados. Tenho 3 colunas nesse grid. Alguém tem alguma sugestão? Atte. Compartilhar este post Link para o post Compartilhar em outros sites
Angelo Compri 0 Denunciar post Postado Janeiro 15, 2010 Ola Master, Esta questão foi respondida esta semana no link: http://forum.imasters.com.br/index.php?/topic/378280-problema-com-sort-do-dataview/ Segue exemplo: protected void Page_Load(object sender, EventArgs e) { OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ToString()); string strSql = @"SELECT CD_FUNCIONARIO, NM_FUNCIONARIO, CD_AREA, NR_TELRES FROM CACOFUNC"; OracleDataAdapter da = new OracleDataAdapter(strSql, conn); DataTable dt = new DataTable(); da.Fill(dt); MeuDataGrid.DataSource = dt; MeuDataGrid.DataBind(); } protected void MeuDataGrid_Sorting(object sender, GridViewSortEventArgs e) { DataView dv = new DataView(MeuDataGrid.DataSource as DataTable); dv.Sort = e.SortExpression; MeuDataGrid.DataSource = dv; MeuDataGrid.DataBind(); } Espero te-lo ajudado. ;) Abraços, Angelo Compri Compartilhar este post Link para o post Compartilhar em outros sites
Tiago_BB 0 Denunciar post Postado Janeiro 15, 2010 Ola Angelo. Só falata um datagrid.DataBind() Agora tenho outra dúvida. Como faço para "jogar" esses dados ordenados em um datatable?? Compartilhar este post Link para o post Compartilhar em outros sites
Angelo Compri 0 Denunciar post Postado Janeiro 15, 2010 Simples: DataTable MeuDataTable = MeuDataView.ToTable(); Abs, ;) Angelo Compri Compartilhar este post Link para o post Compartilhar em outros sites
Tiago_BB 0 Denunciar post Postado Janeiro 15, 2010 Não tem essa propriedade .ToTable!! Só tem .ToString e .table Tentei usar o .table.. mas ele retorna o datatable que passe para o dataview.. sem estar ordenado... alguma sugestão? Agradeço a atenção! Compartilhar este post Link para o post Compartilhar em outros sites
Angelo Compri 0 Denunciar post Postado Janeiro 15, 2010 Tiago, A solução que te dei é em C#... infelizmente não programo no "basico visual" (hehehe) Seguinte pelo que pesquisei, você teria que fazer um loop, linha a linha alimentando um data table para ter esta solução.. Não sei dizer se esta é a melhor solução. abs, ;) Angelo Compri Compartilhar este post Link para o post Compartilhar em outros sites
Tiago_BB 0 Denunciar post Postado Janeiro 15, 2010 Entaum Angelo... consegui... não sei se é a melhor maneira de fazer! Dim row As DataRow For count As Integer = 0 To dv.Count - 1 row = dtConsulta.NewRow row(0) = dv.Item(count)(0) row(1) = dv.Item(count)(1) row(2) = dv.Item(count)(2) dtConsulta.Rows.Add(row) Next Compartilhar este post Link para o post Compartilhar em outros sites