Usuário com melhor resposta
duvida com ordenação na gridView

Pergunta
-
pessoal, tenho uma gridView que é populada em tempo de execução da seguinte forma:
grdCoresMp.DataSource = classMpCoresVO.getMpCoresVO(Convert.ToInt32(txtCodigo.Text), 1); grdCoresMp.DataBind();
os dados são carregados normalmente, porem preciso ordenar quando o usuario clicar no cabeçalho da coluna, mas nao esta funcionando, na propriedade EnableSortingAndCallBacks deixei como true, e no source coloquei "AllowSorting="true"
mas não funciona de jeito nenhum, nem aparece sublinhado quando esta executando.
alguem poderia dar uma ajuda ai ?
alessandre
Respostas
-
Utilizando o AllowSorting você simplesmente disse que vai habilitar a função, porém, tu precisa utilizar o OnSorting="gv_Pendencias_Sorting" , no seu code-behind fica mais ou menos assim:
Obs: ali estou utilizando o data table na Sessão,por motivos operacionais, más não precisa necessariamente.
protected void gv_Pendencias_Sorting(object sender, GridViewSortEventArgs e) { DataTable dt = new DataTable(); dt = Session["dt_ConsultarPendencias"] as DataTable; DataView view = new DataView(dt); view.Sort = e.SortExpression + " " + gv_Pendencias_Sorting_ObterDirecao(e.SortExpression); Session["dt_ConsultarPendencias"] = view.ToTable(); gv_Pendencias.DataSource = view.ToTable(); gv_Pendencias.DataBind(); } private string gv_Pendencias_Sorting_ObterDirecao(string coluna) { string SorDirection = "ASC"; string SortExpression = ViewState["SortExpression"] as string; if (SortExpression != null) { string UltimaDirecao = ViewState["SortDirection"] as string; if (UltimaDirecao != null) { if (UltimaDirecao == "ASC") { SorDirection = "DESC"; } } } ViewState["SortDirection"] = SorDirection; ViewState["SortExpression"] = coluna; return SorDirection; }
Se a resposta foi útil por favor qualifique. Italo Biguzi Duarte, Desenvolvedor ASP.NET C#, Italo.biguzzi@gmail.com
- Marcado como Resposta Harley Araujo segunda-feira, 10 de setembro de 2012 12:26
-
E ae brother, blz cara?
Seguinte, eu disponibilizei um exemplo neste link:
https://skydrive.live.com/?cid=dfff11068f1d6999&id=DFFF11068F1D6999%21170&Bsrc=Share&Bpub=SDX.SkyDrive
Nome do arquivo: ExemploOrdenação
Espero que ajude na seu problema, boa sorte!!!
Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS
- Marcado como Resposta Harley Araujo segunda-feira, 10 de setembro de 2012 12:26
Todas as Respostas
-
E ae brother, blz cara?
Seguinte, eu disponibilizei um exemplo neste link:
https://skydrive.live.com/?cid=dfff11068f1d6999&id=DFFF11068F1D6999%21170&Bsrc=Share&Bpub=SDX.SkyDrive
Nome do arquivo: ExemploOrdenação
Espero que ajude na seu problema, boa sorte!!!
Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS
- Marcado como Resposta Harley Araujo segunda-feira, 10 de setembro de 2012 12:26
-
Utilizando o AllowSorting você simplesmente disse que vai habilitar a função, porém, tu precisa utilizar o OnSorting="gv_Pendencias_Sorting" , no seu code-behind fica mais ou menos assim:
Obs: ali estou utilizando o data table na Sessão,por motivos operacionais, más não precisa necessariamente.
protected void gv_Pendencias_Sorting(object sender, GridViewSortEventArgs e) { DataTable dt = new DataTable(); dt = Session["dt_ConsultarPendencias"] as DataTable; DataView view = new DataView(dt); view.Sort = e.SortExpression + " " + gv_Pendencias_Sorting_ObterDirecao(e.SortExpression); Session["dt_ConsultarPendencias"] = view.ToTable(); gv_Pendencias.DataSource = view.ToTable(); gv_Pendencias.DataBind(); } private string gv_Pendencias_Sorting_ObterDirecao(string coluna) { string SorDirection = "ASC"; string SortExpression = ViewState["SortExpression"] as string; if (SortExpression != null) { string UltimaDirecao = ViewState["SortDirection"] as string; if (UltimaDirecao != null) { if (UltimaDirecao == "ASC") { SorDirection = "DESC"; } } } ViewState["SortDirection"] = SorDirection; ViewState["SortExpression"] = coluna; return SorDirection; }
Se a resposta foi útil por favor qualifique. Italo Biguzi Duarte, Desenvolvedor ASP.NET C#, Italo.biguzzi@gmail.com
- Marcado como Resposta Harley Araujo segunda-feira, 10 de setembro de 2012 12:26
-
-