Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad GridView.PagerTemplate

 

Publicado: marzo de 2016

Obtiene o establece el contenido personalizado de la fila del localizador en un GridView control.

Espacio de nombres:   System.Web.UI.WebControls
Ensamblado:  System.Web (en System.Web.dll)

[BrowsableAttribute(false)]
[PersistenceModeAttribute(PersistenceMode.InnerProperty)]
[TemplateContainerAttribute(typeof(GridViewRow))]
public virtual ITemplate PagerTemplate { get; set; }

Valor de propiedad

Type: System.Web.UI.ITemplate

Un System.Web.UI.ITemplate que contiene el contenido personalizado de la fila del localizador. El valor predeterminado es null, lo que indica que no se ha establecido esta propiedad.

Se muestra una fila del localizador en un GridView controlar cuando está habilitada la característica de paginación (cuando la AllowPaging propiedad está establecida en true). La fila del localizador contiene los controles que permiten al usuario desplazarse a las distintas páginas del control. En lugar de usar la interfaz de usuario de fila (UI) de paginación integrada, puede definir su propia interfaz de usuario mediante el PagerTemplate propiedad.

System_CAPS_noteNota

Cuando el PagerTemplate propiedad está establecida, reemplaza la interfaz de usuario de la fila de paginación integrada.

Para especificar una plantilla personalizada para la fila de paginación, primero coloque <PagerTemplate> etiquetas entre las etiquetas apertura y cierre de la GridView control. A continuación se puede mostrar el contenido de la plantilla entre la apertura y cierre <PagerTemplate> etiquetas. Para controlar la apariencia de la fila del localizador, utilice la PagerStyle propiedad.

Normalmente, se agregan controles de botón a la plantilla de localizador para realizar las operaciones de paginación. El GridView control realiza una operación de paginación cuando un control de botón con su CommandName se hace clic en la propiedad establecida en "Page". El botón CommandArgument propiedad determina el tipo de operación de paginación que se realiza. La tabla siguiente enumeran los valores de argumento de comando admitidos por el GridView control.

Valor de CommandArgument

Descripción

"Next"

Navega a la página siguiente.

"Anterior"

Navega a la página anterior.

"Primero"

Navega a la primera página.

"Último"

Navega a la última página.

Valor entero

Navega hasta el número de página especificado.

En el ejemplo siguiente se muestra cómo crear una plantilla de paginación personalizada que permite al usuario navegar por un GridView controlar mediante un DropDownList control.


<%@ Page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  protected void PageDropDownList_SelectedIndexChanged(Object sender, EventArgs e)
  {

    // Retrieve the pager row.
    GridViewRow pagerRow = CustomersGridView.BottomPagerRow;

    // Retrieve the PageDropDownList DropDownList from the bottom pager row.
    DropDownList pageList = (DropDownList)pagerRow.Cells[0].FindControl("PageDropDownList");

    // Set the PageIndex property to display that page selected by the user.
    CustomersGridView.PageIndex = pageList.SelectedIndex;

  }

  protected void CustomersGridView_DataBound(Object sender, EventArgs e)
  {

    // Retrieve the pager row.
    GridViewRow pagerRow = CustomersGridView.BottomPagerRow;

    // Retrieve the DropDownList and Label controls from the row.
    DropDownList pageList = (DropDownList)pagerRow.Cells[0].FindControl("PageDropDownList");
    Label pageLabel = (Label)pagerRow.Cells[0].FindControl("CurrentPageLabel");

    if(pageList != null)
    {

      // Create the values for the DropDownList control based on 
      // the  total number of pages required to display the data
      // source.
      for(int i=0; i<CustomersGridView.PageCount; i++)
      {

        // Create a ListItem object to represent a page.
        int pageNumber = i + 1;
        ListItem item = new ListItem(pageNumber.ToString());         

        // If the ListItem object matches the currently selected
        // page, flag the ListItem object as being selected. Because
        // the DropDownList control is recreated each time the pager
        // row gets created, this will persist the selected item in
        // the DropDownList control.   
        if(i==CustomersGridView.PageIndex)
        {
          item.Selected = true;
        }

        // Add the ListItem object to the Items collection of the 
        // DropDownList.
        pageList.Items.Add(item);

      }

    }

    if(pageLabel != null)
    {

      // Calculate the current page number.
      int currentPage = CustomersGridView.PageIndex + 1;     

      // Update the Label control with the current page information.
      pageLabel.Text = "Page " + currentPage.ToString() +
        " of " + CustomersGridView.PageCount.ToString();

    }    

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView PagerTemplate Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>GridView PagerTemplate Example</h3>

      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource"   
        autogeneratecolumns="true"
        allowpaging="true"
        ondatabound="CustomersGridView_DataBound"  
        runat="server">

        <pagerstyle forecolor="Blue"
          backcolor="LightBlue"/>

        <pagertemplate>

          <table width="100%">                    
            <tr>                        
              <td style="width:70%">

                <asp:label id="MessageLabel"
                  forecolor="Blue"
                  text="Select a page:" 
                  runat="server"/>
                <asp:dropdownlist id="PageDropDownList"
                  autopostback="true"
                  onselectedindexchanged="PageDropDownList_SelectedIndexChanged" 
                  runat="server"/>

              </td>   

              <td style="width:70%; text-align:right">

                <asp:label id="CurrentPageLabel"
                  forecolor="Blue"
                  runat="server"/>

              </td>

            </tr>                    
          </table>

        </pagertemplate> 

      </asp:gridview>

      <!-- This example uses Microsoft SQL Server and connects  -->
      <!-- to the Northwind sample database. Use an ASP.NET     -->
      <!-- expression to retrieve the connection string value   -->
      <!-- from the Web.config file.                            -->
      <asp:sqldatasource id="CustomersSqlDataSource"  
        selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
        runat="server">
      </asp:sqldatasource>

    </form>
  </body>
</html>

.NET Framework
Disponible desde 2.0
Volver al principio
Mostrar: