GridView.PageIndexChanging, événement

Remarque : cet événement est nouveau dans le .NET Framework version 2.0.

Se produit lorsqu'un clic est effectué sur des boutons du pagineur et avant que le contrôle GridView n'ait géré l'opération de pagination.

Espace de noms : System.Web.UI.WebControls
Assembly : System.Web (dans system.web.dll)

public event GridViewPageEventHandler PageIndexChanging
/** @event */
public void add_PageIndexChanging (GridViewPageEventHandler value)

/** @event */
public void remove_PageIndexChanging (GridViewPageEventHandler value)

JScript prend en charge l'utilisation d'événements mais pas la déclaration de nouveaux événements.

L'événement PageIndexChanging est déclenché lorsqu'un utilisateur clique sur l'un des boutons du pagineur, mais avant que le contrôle GridView n'ait géré l'opération de pagination. Cela vous permet de fournir une méthode de gestion d'événements qui exécute une routine personnalisée, par exemple l'annulation de l'opération de pagination, lorsque cet événement se produit.

RemarqueRemarque

Cet événement n'est pas déclenché lorsque vous définissez la propriété PageIndex par programme.

Un objet GridViewPageEventArgs est passé à la méthode de gestion d'événements, ce qui vous permet de déterminer l'index de la page sélectionnée par l'utilisateur et d'indiquer que l'opération de pagination doit être annulée. Pour annuler l'opération de pagination, affectez true à la propriété Cancel de l'objet GridViewPageEventArgs.

Pour plus d'informations sur la gestion des événements, consultez Consommation d'événements.

L'exemple de code suivant montre comment utiliser l'événement PageIndexChanging pour annuler l'opération de pagination si l'utilisateur tente de naviguer vers une autre page lorsqu'un contrôle GridView est en mode édition.


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

<script runat="server">

  void CustomersGridView_PageIndexChanging(Object sender, GridViewPageEventArgs e)
  {
    
    // Cancel the paging operation if the user attempts to navigate
    // to another page while the GridView control is in edit mode. 
    if (CustomersGridView.EditIndex != -1)
    {
      // Use the Cancel property to cancel the paging operation.
      e.Cancel = true;
      
      // Display an error message.
      int newPageNumber = e.NewPageIndex + 1;
      Message.Text = "Please update the record before moving to page " +
        newPageNumber.ToString() + ".";
    }
    else
    {
      // Clear the error message.
      Message.Text = "";
    }
    
  }

  void CustomersGridView_RowCancelingEdit(Object sender, GridViewCancelEditEventArgs e)
  {
    // Clear the error message.
    Message.Text = "";
  }

</script>

<html>
  <body>
    <form runat="server">
        
      <h3>GridView PageIndexChanging Example</h3>
            
      <asp:label id="Message"
        forecolor="Red"
        runat="server"/>
                
      <br/>  

      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSource" 
        autogeneratecolumns="true"
        emptydatatext="No data available." 
        allowpaging="true"
        autogenerateeditbutton="true"
        datakeynames="CustomerID"  
        onpageindexchanging="CustomersGridView_PageIndexChanging"
        onrowcancelingedit="CustomersGridView_RowCancelingEdit" 
        runat="server">
                
        <pagersettings mode="Numeric"
          position="Bottom"           
          pagebuttoncount="10"/>
                      
        <pagerstyle backcolor="LightBlue"/>
                
      </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="CustomersSource"
        selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
        updatecommand="Update Customers SET CompanyName=@CompanyName, Address=@Address, City=@City, PostalCode=@PostalCode, Country=@Country WHERE (CustomerID = @CustomerID)"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>
            
    </form>
  </body>
</html>


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0

Ajouts de la communauté

AJOUTER
Afficher: