Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Tiago_BB

[Resolvido] Como ordenar datatable usando dataview

Recommended Posts

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.