Mostrando postagens com marcador gridview. Mostrar todas as postagens
Mostrando postagens com marcador gridview. Mostrar todas as postagens

quarta-feira, 26 de dezembro de 2012

Ordenação de dados em Gridview

Fala, galera!!

Hoje postarei uma solução simples utilizando JQuery para uma tarefa um pouco trabalhosa se feita via C# puro: Ordenação de dados em GridView.

Para isso, utilizaremos o plugin TableSorter para Jquery que pode ser encontrado em http://tablesorter.com/docs/.

Para começar, adicione o seguinte código ao code-behind para que sejam incluídas na sua gridview as seções <thead> e <tbody> que serão utilizadas pelo TableSorter:


protected void GridView1_PreRender(object sender, EventArgs e)
        {
           //As 2 linhas abaixo só devem ser adicionadas se você não estiver utilizando ObjectDataSource,   SqlDataSource ou LinqDataSource
            GridView1.DataSource = "SEU DATASOURCE";
            GridView1.DataBind();
            if (GridView1.Rows.Count > 0)
            {
                //Substitui <td> por <th>
                GridView1.UseAccessibleHeader = true;
                //Adiciona <thead> e <tbody>
                GridView1.HeaderRow.TableSection = TableRowSection.TableHeader;
            }
        }

Adicione as referências e o script abaixo em sua página ASPX e seu gridview estará com a ordenação funcionando:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

<script type="text/javascript" src="/script/tablesorter/jquery.tablesorter.js"></script>

<link rel="stylesheet" href="/script/tablesorter/themes/blue/style.css" type="text/css"  id="" media="print, projection, screen" />


$(document).ready(function() {
       $("#<%=GridView1.ClientID%>").tablesorter();
});

É possível a criação de widgets que fazem com que a ordenação selecionada seja persistida durante a sessão do usuário. Mais informações em: http://ybits.net/2009/10/making-jquery-tablesorter-persistent/

Um abraço e até a próxima!!

quinta-feira, 30 de setembro de 2010

Asp.Net Dynamic Data - Ordenando dados do GridView

Fala, galera!!

Hoje irei mostrar como ordenar os dados de um gridview utilizado pelo Asp.Net Dynamic Data.

A primeira coisa a ser feita é definir no seu arquivo de MetaDados qual campo será utilizado como critério de ordenação e qual será o critério: Ascending ou Descending.

O código em negrito é o que deve ser adicionado no arquivo de Metadados.


<MetadataType(GetType(PROJETO_Metadata))> _
       <DisplayColumn("NomeProjeto", "NomeProjeto", False)> _
    Partial Public Class PROJETO

No código acima, minha grid será ordenada pelo nome do projeto em ordem crescente (Ascending).

Agora vamos adicionar o código que fará a ordenação da GridView:

No arquivo List.aspx, basta adicionar o seguinte no código no evento Page_Load:



 If Not Page.IsPostBack Then
            Dim Ordem As String = IIf(table.SortDescending = True, "Descending", "Ascending")
            Dim orderBy As String = String.Format("{0} {1}", table.DisplayColumn.SortExpression, Ordem)
            GridDataSource.OrderBy = orderBy
End If


Um abraço e até a próxima!!

sexta-feira, 30 de abril de 2010

Footer Template - Adicionando Colspan

Fala, galera!!

Segue um post relâmpago com o código para adicionar um colspan no footer de sua gridview:

No evento ItemDatabound adicione o seguinte código:


If e.Row.RowType = DataControlRowType.Footer Then
            e.Row.Cells(0).ColumnSpan = 2
            e.Row.Cells(1).Visible = False
End If

Um abraço e até a próxima!!