Exporter (0) Imprimer
Développer tout

DataGridSortCommandEventArgs, classe

Fournit des données pour l'événement SortCommand du contrôle DataGrid. Cette classe ne peut pas être héritée.

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

public class DataGridSortCommandEventArgs : EventArgs
public class DataGridSortCommandEventArgs extends EventArgs
public class DataGridSortCommandEventArgs extends EventArgs

Lorsque le tri est activé en affectant true à la propriété AllowSorting du contrôle DataGrid, les contrôles LinkButton sont rendus dans l'en-tête de chaque colonne dont la propriété SortExpression est définie. (Pour les colonnes générées automatiquement, la propriété SortExpression comporte la même valeur que celle du champ de données.) Ces liens vous permettent de trier le contrôle DataGrid par la colonne sélectionnée. L'événement SortCommand est déclenché suite à un clic sur un contrôle LinkButton.

Pour obtenir la liste des valeurs des propriétés initiales d'une instance de DataGridSortCommandEventArgs, consultez le constructeur DataGridSortCommandEventArgs.

Pour plus d'informations sur la gestion des événements, consultez Événements et délégués.

L'exemple de code suivant montre comment spécifier et coder un gestionnaire pour l'événement SortCommand afin de trier un contrôle DataGrid.


<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
   <script runat="server">
 
      ICollection CreateDataSource()
      {
      
         // Create a Random object to mix up the order of items in the
         // sample data.
         Random Rand_Num = new Random();

         // Create sample data for the DataGrid control.
         DataTable dt = new DataTable();
         DataRow dr;
 
         // Define the columns of the table.
         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("StringValue", typeof(String)));
         dt.Columns.Add(new DataColumn("CurrencyValue", typeof(Double)));
 
         // Populate the table with sample values.
         for (int i=0; i<=8; i++) 
         {

            dr = dt.NewRow();
 
            dr[0] = i;
            dr[1] = "Item " + Rand_Num.Next(1, 15).ToString();
            dr[2] = 1.23 * Rand_Num.Next(1, 15);
 
            dt.Rows.Add(dr);
         
         }

         // To persist the data source between posts to the server,
         // store it in session state.  
         Session["Source"] = dt;
 
         DataView dv = new DataView(dt);

         return dv;
      
      }
 
      void Page_Load(Object sender, EventArgs e)
      { 
 
         // Load sample data only once, when the page is first loaded.
         if (!IsPostBack)
         { 
         
            ItemsGrid.DataSource = CreateDataSource();
            ItemsGrid.DataBind();
         
         }

      }

      void Sort_Grid(Object sender, DataGridSortCommandEventArgs e)
      { 

         // Retrieve the data source from session state.
         DataTable dt = (DataTable)Session["Source"];

         // Create a DataView from the DataTable.
         DataView dv = new DataView(dt);

         // The DataView provides an easy way to sort. Simply set the
         // Sort property with the name of the field to sort by.
         dv.Sort = e.SortExpression;

         // Rebind the data source and specify that it should be sorted
         // by the field specified in the SortExpression property.
         ItemsGrid.DataSource = dv;
         ItemsGrid.DataBind();

      }

      void Check_Change(Object sender, EventArgs e)
      {
   
         // Allow or prevent sorting depending on the user's selection.
         if (AllowSortingCheckBox.Checked)
         {

            ItemsGrid.AllowSorting = true;

         }
         else
         {

            ItemsGrid.AllowSorting = false;

         }

         // After changing the property, rebind the data to
         // refresh the DataGrid control.

         // Retrieve the data source from session state.
         DataTable dt = (DataTable)Session["Source"];

         // Create a DataView from the DataTable.
         DataView dv = new DataView(dt);

         // Rebind the data source.
         ItemsGrid.DataSource = dv;
         ItemsGrid.DataBind();

      }

   </script>
 
<body>
 
   <form runat=server>
 
      <h3>DataGrid AllowSorting Example</h3>

      Select whether to allow sorting in the DataGrid control.

      <br><br>
 
      <b>Product List</b>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           OnSortCommand="Sort_Grid"
           AutoGenerateColumns="False"
           AllowSorting="True"
           runat="server">

         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>

         <Columns>

            <asp:BoundColumn DataField="IntegerValue" 
                 SortExpression="IntegerValue"
                 HeaderText="Item"/>

            <asp:BoundColumn DataField="StringValue"
                 SortExpression="StringValue" 
                 HeaderText="Description"/>

            <asp:BoundColumn DataField="CurrencyValue" 
                 HeaderText="Price"
                 SortExpression="CurrencyValue"
                 DataFormatString="{0:c}">

               <ItemStyle HorizontalAlign="Right">
               </ItemStyle>

            </asp:BoundColumn>

         </Columns> 
 
      </asp:DataGrid>

      <hr>

      <asp:CheckBox id="AllowSortingCheckBox"
           Text="Allow sorting"
           AutoPostBack="True"
           Checked="True"
           OnCheckedChanged="Check_Change"
           runat="server"/>
 
   </form>
 
</body>
</html>



<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
   <script runat="server">
 
      ICollection CreateDataSource()
      {
      
         // Create a Random object to mix up the order of items in the sample data.
         Random Rand_Num = new Random();

         // Create sample data for the DataGrid control.
         DataTable dt = new DataTable();
         DataRow dr;
 
         // Define the columns of the table.
         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("StringValue", typeof(String)));
         dt.Columns.Add(new DataColumn("CurrencyValue", typeof(Double)));
 
         // Populate the table with sample values.
         for (int i=0; i<=8; i++) 
         {

            dr = dt.NewRow();
 
            dr[0] = i;
            dr[1] = "Item " + Rand_Num.Next(1, 15).ToString();
            dr[2] = 1.23 * Rand_Num.Next(1, 15);
 
            dt.Rows.Add(dr);
         
         }

         // To persist the data source between posts to the server, store it
         // in session state.  
         Session["Source"] = dt;
 
         DataView dv = new DataView(dt);

         return dv;
      
      }
 
      void Page_Load(Object sender, EventArgs e)
      { 
 
         // Load sample data only once, when the page is first loaded.
         if (!IsPostBack)
         { 
         
            ItemsGrid.DataSource = CreateDataSource();
            ItemsGrid.DataBind();
         
         }

         // Manually register the event-handling method for the PageIndexChanged  
         // event of the DataGrid control.
         ItemsGrid.SortCommand += new DataGridSortCommandEventHandler(this.Sort_Grid);

      }

      void Sort_Grid(Object sender, DataGridSortCommandEventArgs e)
      { 

         // Retrieve the data source from session state.
         DataTable dt = (DataTable)Session["Source"];

         // Create a DataView from the DataTable.
         DataView dv = new DataView(dt);

         // The DataView provides an easy way to sort. Simply set the Sort property with
         // the name of the field to sort by.
         dv.Sort = e.SortExpression;

         // Re-bind the data source and specify that it should be sorted
         // by the field specified in the SortExpression property.
         ItemsGrid.DataSource = dv;
         ItemsGrid.DataBind();

      }

      void Check_Change(Object sender, EventArgs e)
      {
   
         // Allow or prevent sorting depending on the user's selection.
         if (AllowSortingCheckBox.Checked)
         {

            ItemsGrid.AllowSorting = true;

         }
         else
         {

            ItemsGrid.AllowSorting = false;

         }

         // After changing the property, re-bind the data to
         // refresh the DataGrid control.

         // Retrieve the data source from session state.
         DataTable dt = (DataTable)Session["Source"];

         // Create a DataView from the DataTable.
         DataView dv = new DataView(dt);

         // Re-bind the data source.
         ItemsGrid.DataSource = dv;
         ItemsGrid.DataBind();

      }

   </script>
 
<body>
 
   <form runat=server>
 
      <h3>DataGrid SortCommand Example</h3>

      Select whether to allow sorting in the DataGrid control.

      <br><br>
 
      <b>Product List</b>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           AutoGenerateColumns="False"
           AllowSorting="True"
           runat="server">

         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>

         <Columns>

            <asp:BoundColumn DataField="IntegerValue" 
                 SortExpression="IntegerValue"
                 HeaderText="Item"/>

            <asp:BoundColumn DataField="StringValue"
                 SortExpression="StringValue" 
                 HeaderText="Description"/>

            <asp:BoundColumn DataField="CurrencyValue" 
                 HeaderText="Price"
                 SortExpression="CurrencyValue"
                 DataFormatString="{0:c}">

               <ItemStyle HorizontalAlign="Right">
               </ItemStyle>

            </asp:BoundColumn>

         </Columns> 
 
      </asp:DataGrid>

      <hr>

      <asp:CheckBox id="AllowSortingCheckBox"
           Text="Allow sorting"
           AutoPostBack="True"
           Checked="True"
           OnCheckedChanged="Check_Change"
           runat="server"/>
 
   </form>
 
</body>
</html>


  • AspNetHostingPermission  pour opérer dans un environnement hébergé. Valeur de demande : LinkDemand ; valeur d'autorisation : Minimal
  • AspNetHostingPermission  pour opérer dans un environnement hébergé. Valeur de demande : InheritanceDemand ; valeur d'autorisation : Minimal

System.Object
   System.EventArgs
    System.Web.UI.WebControls.DataGridSortCommandEventArgs

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

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, 1.1, 1.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft