AllowSorting Propriété
TOC
Réduire la table des matières
Développer la table des matières
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

GridView.AllowSorting, propriété

Obtient ou définit une valeur indiquant si la fonctionnalité de tri est activée.

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

public virtual bool AllowSorting { get; set; }
<asp:GridView AllowSorting="True|False" />

Valeur de propriété

Type : System.Boolean
true si la fonctionnalité de tri est activée ; sinon, false. La valeur par défaut est false.

Lorsqu'un contrôle de source de données prenant en charge le tri est lié au contrôle GridView, le contrôle GridView peut tirer parti des fonctionnalités du contrôle de source de données et fournir la fonctionnalité de tri automatique. Lorsque le contrôle GridView est lié à une source de données en définissant la propriété DataSource par programmation, vous devez fournir les fonctionnalités de tri à l'aide de l'événement Sorting.

RemarqueRemarque

Chaque source de données a sa propre configuration requise pour activer ses fonctionnalités de tri. Pour déterminer les configurations requises, consultez la documentation de la source de données spécifique.

Pour activer le tri, affectez la valeur true à la propriété AllowSorting. Lorsque le tri est activé, le texte d'en-tête de chaque champ de colonne ainsi que son ensemble de propriétés SortExpression est affiché comme un bouton de lien.

RemarqueRemarque

La propriété SortExpression permettant de générer automatiquement un champ de colonnes est remplie automatiquement. Si vous définissez vos propres colonnes via la collection Columns, vous devez définir la propriété SortExpression pour chaque colonne ; sinon, la colonne n'affichera pas le bouton de lien dans l'en-tête.

Cliquer sur le bouton de lien d'une colonne entraîne le tri des éléments dans le contrôle GridView en fonction de l'expression de tri. En général, l'expression de tri correspond simplement au nom du champ affiché dans la colonne ; par conséquent le contrôle GridView effectue le tri conformément à cette colonne. Pour trier plusieurs champs, utilisez une expression de tri qui contient une liste avec la virgule comme séparateur des noms de champs. Vous pouvez déterminer l'expression de tri que le contrôle GridView applique en utilisant la propriété SortExpression. Cliquer à plusieurs reprises sur le bouton de lien d'une colonne inverse le sens du tri. Pour déterminer le sens du tri en cours, utilisez la propriété SortDirection.

Le contrôle GridView fournit plusieurs événements permettant d'exécuter une action personnalisée lors du tri. Le tableau suivant répertorie les événements disponibles.

Événement

Description

Sorted

Se produit en cas de clic sur le lien hypertexte de tri d'une colonne, mais après que le contrôle GridView a géré l'opération de tri. Cet événement est couramment utilisé pour exécuter une tâche une fois que l'utilisateur a cliqué sur un lien hypertexte pour trier une colonne.

Sorting

Se produit en cas de clic sur le lien hypertexte de tri d'une colonne, mais avant que le contrôle GridView ne gère l'opération de tri. Cet événement est souvent utilisé pour annuler l'opération de tri ou exécuter un programme de tri personnalisé.

L'exemple de code suivant montre comment utiliser la propriété AllowSorting pour activer le tri dans un contrôle GridView lorsque des colonnes générées automatiquement sont utilisées.



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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView AllowSorting Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>GridView AllowSorting Example</h3>

      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSource" 
        autogeneratecolumns="true"
        emptydatatext="No data available." 
        allowsorting="true" 
        runat="server">

      </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]"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>

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



L'exemple de code suivant montre comment utiliser la propriété AllowSorting pour activer le tri dans un contrôle GridView lorsqu'une collection Columns est définie. Une image est également ajoutée par programme à l'en-tête de la colonne triée pour indiquer le sens du tri. Pour que cet exemple fonctionne, vous devez fournir vos propres images.



<%@ 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">

  void CustomersGridView_RowCreated(Object sender, GridViewRowEventArgs e)
  {

    // Use the RowType property to determine whether the 
    // row being created is the header row. 
    if (e.Row.RowType == DataControlRowType.Header)
    {
      // Call the GetSortColumnIndex helper method to determine
      // the index of the column being sorted.
      int sortColumnIndex = GetSortColumnIndex();

      if (sortColumnIndex != -1)
      {
        // Call the AddSortImage helper method to add
        // a sort direction image to the appropriate
        // column header. 
        AddSortImage(sortColumnIndex, e.Row);
      }
    }
  }

  // This is a helper method used to determine the index of the
  // column being sorted. If no column is being sorted, -1 is returned.
  int GetSortColumnIndex()
  {

    // Iterate through the Columns collection to determine the index
    // of the column being sorted.
    foreach (DataControlField field in CustomersGridView.Columns)
    {
      if (field.SortExpression == CustomersGridView.SortExpression)
      {
        return CustomersGridView.Columns.IndexOf(field);
      }
    }

    return -1;
  }

  // This is a helper method used to add a sort direction
  // image to the header of the column being sorted.
  void AddSortImage(int columnIndex, GridViewRow headerRow)
  {

    // Create the sorting image based on the sort direction.
    Image sortImage = new Image();
    if (CustomersGridView.SortDirection == SortDirection.Ascending)
    {
      sortImage.ImageUrl = "~/Images/Ascending.jpg";
      sortImage.AlternateText = "Ascending Order";
    }
    else
    {
      sortImage.ImageUrl = "~/Images/Descending.jpg";
      sortImage.AlternateText = "Descending Order";
    }

    // Add the image to the appropriate header cell.
    headerRow.Cells[columnIndex].Controls.Add(sortImage);

  }

</script>

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

      <h3>GridView AllowSorting Example</h3>

      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSource" 
        autogeneratecolumns="false"
        emptydatatext="No data available." 
        allowsorting="true"
        onrowcreated="CustomersGridView_RowCreated"
        runat="server">

        <columns>
          <asp:boundfield datafield="CustomerID"
            headertext="Customer ID"
            headerstyle-wrap="false" 
            sortexpression="CustomerID"/>
          <asp:boundfield datafield="CompanyName"
            headertext="CompanyName"
            headerstyle-wrap="false"
            sortexpression="CompanyName"/>
          <asp:boundfield datafield="Address"
            headertext="Address"
            headerstyle-wrap="false"
            sortexpression="Address"/>
          <asp:boundfield datafield="City"
            headertext="City"
            headerstyle-wrap="false"
            sortexpression="City"/>
          <asp:boundfield datafield="PostalCode"
            headertext="Postal Code"
            headerstyle-wrap="false"
            sortexpression="PostalCode" />
          <asp:boundfield datafield="Country"
            headertext="Country"
            headerstyle-wrap="false"
            sortexpression="Country"/>         
        </columns>

      </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]"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>

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



.NET Framework

Pris en charge dans : 4.6, 4.5, 4, 3.5, 3.0, 2.0

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

.NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Afficher:
© 2016 Microsoft