ordenamiento y paginación de gridview

download ordenamiento y paginación de gridview

of 7

Transcript of ordenamiento y paginación de gridview

  • 7/22/2019 ordenamiento y paginacin de gridview

    1/7

    Cuando trabajamos con el componente GridView las tareas mas comunes son las de

    Ordenamiento y de Paginacin.

    El hecho de lograr ambas tareas de forma simultanea en pginas ASP.NET presenta

    un pequeo cuidado; se debe mantener el ndice de la pgina en la que estamos

    cuando establecemos un nuevo criterio de ordenamiento. De la misma formadebemos mantener el criterio de ordenamiento al cambiar el ndice de la pgina a la

    que queremos acceder.

    El cdigo que sigue es un ejemplo o una de las formas, siempre hay mas de una

    forma :), de como se puede lograr esta tarea.-

    - SortingPaging.aspx (nuestra pgina aspx)

    - SortingPaging.aspx.cs (nuestro archivo de code behind)

    usingSystem;

    usingSystem.Data;

    usingSystem.Web.UI;

    usingSystem.Web.UI.WebControls;

    publicpartialclassSortingPaging : Page {

    protectedvoidPage_Load(objectsender, EventArgs e) {

  • 7/22/2019 ordenamiento y paginacin de gridview

    2/7

    DataSet ds = newDataSet();

    // Aqui llenamos nuestro DataSet

    DataView dv = ds.Tables[0].DefaultView;

    dv = sortDataView(dv, true);

    gridSample.DataSource = dv;

    gridSample.DataBind();

    }

    privatestringGridSampleSortDirection {

    get { returnViewState["SortDirection"] asstring?? "ASC"; }

    set { ViewState["SortDirection"] = value; }

    }

    privatestringGridSampleSortExpression {

    get { returnViewState["SortExpression"] asstring??

    "Nombre"; }

    set { ViewState["SortExpression"] = value; }

    }

    privatestringgetSortDirection() {

    switch(GridSampleSortDirection) {

    case"ASC":

    GridSampleSortDirection = "DESC";

    break;

    case"DESC":

    GridSampleSortDirection = "ASC";

    break;

    }

    returnGridSampleSortDirection;

    }

    protectedvoidgridView_PageIndexChanging(objectsender,

    GridViewPageEventArgs e) {

    gridSample.DataSource = sortDataView(gridSample.DataSource as

    DataView, true);

  • 7/22/2019 ordenamiento y paginacin de gridview

    3/7

    gridSample.PageIndex = e.NewPageIndex;

    gridSample.DataBind();

    }

    protectedDataView sortDataView(DataView dataView, bool

    isPageIndexChanging) {

    if(isPageIndexChanging) {

    dataView.Sort = string.Format("{0} {1}",

    GridSampleSortExpression,

    GridSampleSortDirection);

    } else{

    dataView.Sort = string.Format("{0} {1}",

    GridSampleSortExpression,

    getSortDirection());

    }

    returndataView;

    }

    protectedvoidgridView_Sorting(objectsender,

    GridViewSortEventArgs e) {

    GridSampleSortExpression = e.SortExpression;

    intpageIndex = gridSample.PageIndex;

    gridSample.DataSource = sortDataView(gridSample.DataSource as

    DataView, false);

    gridSample.DataBind();

    gridSample.PageIndex = pageIndex;

    }

    }

    Publicado por Pablo Barrientos a las20:032 comentarios

    J U E V E S 1 5 D E M A R Z O D E 2 0 0 7

    - Paging and Sorting

    Categoras:ASP.NET,GridView

    http://latamdevelopers.blogspot.com/2007/08/gridview-paginacion-y-ordenamiento_02.htmlhttp://latamdevelopers.blogspot.com/2007/08/gridview-paginacion-y-ordenamiento_02.htmlhttps://www.blogger.com/comment.g?blogID=6106231520190694503&postID=6054046772539430347https://www.blogger.com/comment.g?blogID=6106231520190694503&postID=6054046772539430347http://www.blogger.com/email-post.g?blogID=6106231520190694503&postID=6054046772539430347http://latamdevelopers.blogspot.com/2007/03/paging-and-sorting.htmlhttp://latamdevelopers.blogspot.com/search/label/ASP.NEThttp://latamdevelopers.blogspot.com/search/label/ASP.NEThttp://latamdevelopers.blogspot.com/search/label/ASP.NEThttp://latamdevelopers.blogspot.com/search/label/GridViewhttp://latamdevelopers.blogspot.com/search/label/GridViewhttp://latamdevelopers.blogspot.com/search/label/GridViewhttp://latamdevelopers.blogspot.com/search/label/GridViewhttp://latamdevelopers.blogspot.com/search/label/ASP.NEThttp://latamdevelopers.blogspot.com/2007/03/paging-and-sorting.htmlhttp://www.blogger.com/email-post.g?blogID=6106231520190694503&postID=6054046772539430347https://www.blogger.com/comment.g?blogID=6106231520190694503&postID=6054046772539430347http://latamdevelopers.blogspot.com/2007/08/gridview-paginacion-y-ordenamiento_02.html
  • 7/22/2019 ordenamiento y paginacin de gridview

    4/7

    Las tareas de Paging y Sorting de forma simultanea en pginas ASP.NET presenta un

    pequeo cuidado; se debe mantener el ndice de la pgina en la que estamos cuando

    establecemos un nuevo criterio de ordenamiento. De la misma forma debemos

    mantener el criterio de ordenamiento al cambiar el ndice de la pgina a la que

    queremos acceder.

    El cdigo que sigue es un ejemplo o una de las formas, siempre hay mas de una

    forma :), de como se puede lograr esta tarea.-

    - SortingPaging.aspx (nuestra pgina aspx)

    - SortingPaging.aspx.cs (nuestro archivo de code behind)

    usingSystem;

    usingSystem.Data;

    usingSystem.Web.UI;

    usingSystem.Web.UI.WebControls;

    publicpartialclassSortingPaging : Page {

    protectedvoidPage_Load(objectsender, EventArgs e) {

    DataSet ds = newDataSet();

    // Aqui llenamos nuestro DataSet

  • 7/22/2019 ordenamiento y paginacin de gridview

    5/7

    DataView dv = ds.Tables[0].DefaultView;

    dv = sortDataView(dv, true);

    gridSample.DataSource = dv;

    gridSample.DataBind();

    }

    privatestringGridSampleSortDirection {

    get { returnViewState["SortDirection"] asstring?? "ASC";

    }

    set { ViewState["SortDirection"] = value; }

    }

    privatestringGridSampleSortExpression {

    get { returnViewState["SortExpression"] asstring??

    "Nombre"; }

    set { ViewState["SortExpression"] = value; }

    }

    privatestringgetSortDirection() {

    switch(GridSampleSortDirection) {

    case"ASC":

    GridSampleSortDirection = "DESC";

    break;

    case"DESC":

    GridSampleSortDirection = "ASC";

    break;

    }

    returnGridSampleSortDirection;

    }

    protectedvoidgridView_PageIndexChanging(objectsender,

    GridViewPageEventArgs e) {

    gridSample.DataSource = sortDataView(gridSample.DataSource

    asDataView, true);

    gridSample.PageIndex = e.NewPageIndex;

  • 7/22/2019 ordenamiento y paginacin de gridview

    6/7

    gridSample.DataBind();

    }

    protectedDataView sortDataView(DataView dataView, bool

    isPageIndexChanging) {

    if(isPageIndexChanging) {

    dataView.Sort = string.Format("{0} {1}",

    GridSampleSortExpression,

    GridSampleSortDirection);

    } else{

    dataView.Sort = string.Format("{0} {1}",

    GridSampleSortExpression,

    getSortDirection());

    }

    returndataView;

    }

    protectedvoidgridView_Sorting(objectsender,

    GridViewSortEventArgs e) {

    GridSampleSortExpression = e.SortExpression;

    intpageIndex = gridSample.PageIndex;

    gridSample.DataSource = sortDataView(gridSample.DataSource

    asDataView, false);

    gridSample.DataBind();

    gridSample.PageIndex = pageIndex;

    }

    }

    Publicado por Pablo Barrientos a las19:57

    J U E V E S 1 D E M A R Z O D E 2 0 0 7

    - Tooltips en columnas de GridView

    Categoras:ASP.NET,GridView

    Muchas veces por razones de espacio necesitamos poner nombres abreviados o

    acrnimos en las cabeceras de nuestros GridViews. Para enriquecer la experiencia de

    http://latamdevelopers.blogspot.com/2007/03/paging-and-sorting.htmlhttp://latamdevelopers.blogspot.com/2007/03/paging-and-sorting.htmlhttp://www.blogger.com/email-post.g?blogID=6106231520190694503&postID=6515004163346944628http://latamdevelopers.blogspot.com/2007/03/tooltips-en-columnas-de-gridview.htmlhttp://latamdevelopers.blogspot.com/search/label/ASP.NEThttp://latamdevelopers.blogspot.com/search/label/ASP.NEThttp://latamdevelopers.blogspot.com/search/label/ASP.NEThttp://latamdevelopers.blogspot.com/search/label/GridViewhttp://latamdevelopers.blogspot.com/search/label/GridViewhttp://latamdevelopers.blogspot.com/search/label/GridViewhttp://latamdevelopers.blogspot.com/search/label/GridViewhttp://latamdevelopers.blogspot.com/search/label/ASP.NEThttp://latamdevelopers.blogspot.com/2007/03/tooltips-en-columnas-de-gridview.htmlhttp://www.blogger.com/email-post.g?blogID=6106231520190694503&postID=6515004163346944628http://latamdevelopers.blogspot.com/2007/03/paging-and-sorting.html
  • 7/22/2019 ordenamiento y paginacin de gridview

    7/7

    usuario podemos agregar tooltips a estas cabeceras de una forma muy sencilla de

    modo de proveer al usuario el nombre completo o mas descriptivo para determinado

    campo mostrado.

    Pre-Requisitos:

    * Tenemos establecida la conexin a la base de datos.

    * Tenemos un DataSet con los datos para realizar el Binding al Dataview.

    * Tenemos los datos en el gridview a traves de Databind().

    Elementos Clave:

    * Habilitar la propiedad HtmlEncode a falseen cada campo enlazado.

    * Utilizar elementos HTML en la propiedad HeaderText.He aqu nuesto cdigo:

    - products.aspx (Nuestra pgina aspx)

    Esta es solo una de las formas de realizarlo, otra forma es utilizando el tag

    de HTML.