none
Paginação e Ordenação de GridView RRS feed

  • Pergunta

  • Bom dia!

    estou com o seguinte problema, tenho um GridView com paginação e ordenação, mas quando ordeno por uma determinada coluna, por exemplo data, e mudo de página, a ordenação não permanece.

    Evento da ordenação

    protected void gv_Sorting(object sender, GridViewSortEventArgs e)
            {
                DataSet ds = cln.getBl(parametros);
                var view = new DataView(ds.Tables[0]);
                view.Sort = e.SortExpression + " " + (e.SortDirection == SortDirection.Ascending ? "ASC" : "DESC");
                gv.DataSource = view;
                gv.DataBind();
            }

    Evento da Paginação

            protected void gv_PageIndexChanging(object sender, GridViewPageEventArgs e)
            {
                DataSet ds = cln.getBl(parametros);
                gv.DataSource = ds;
                gv.PageIndex = e.NewPageIndex;
                gv.DataBind();
            }

    Desde já agradeço!

    quinta-feira, 8 de agosto de 2013 12:29

Todas as Respostas

  • No seu evento PageLoad da sua página, tente fazer assim:

    protectedvoid Page_Load(object sender, EventArgs e) { gv_Sorting(null, new EventArgs());

    gv_PageIndexChanging(null, new EventArgs()); }


    Andrielle Azevedo de Paula

    MTAC | Analista Pleno I | IT Developer .NET | ALM Professional

    quinta-feira, 15 de maio de 2014 14:33
  • A sua paginação está sendo perdida porque no momento da paginação você está carregando os dados e eles estão vindo na ordem original...nesse caso você precisa usar os dados já ordenados.

    1. Guarde o resultado da sua pesquisa na session.

    2. No Sort busque o resultado na session e ordene conforme você precisa. Depois salve novamente na session o resultado.

    3. na paginação você só precisa mudar o pageindex, setar o datasource com dados da session e dar databind.

    Teste dessa forma e poste aqui o resultado ;)

    Abraços !


    Diego Murakami MCP, MS - http://about.me/dii
    * Por favor "Marcar como Resposta" caso esta for útil para sua dúvida.

    • Sugerido como Resposta Diego Murakami segunda-feira, 23 de junho de 2014 13:40
    quinta-feira, 15 de maio de 2014 19:15