Exporter (0) Imprimer
Développer tout
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

DataListCommandEventArgs, classe

Fournit des données pour les événements CancelCommand, DeleteCommand, EditCommand, ItemCommand et UpdateCommand du contrôle DataList. Cette classe ne peut pas être héritée.

System.Object
  System.EventArgs
    System.Web.UI.WebControls.CommandEventArgs
      System.Web.UI.WebControls.DataListCommandEventArgs

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

public class DataListCommandEventArgs : CommandEventArgs

Le type DataListCommandEventArgs expose les membres suivants.

  NomDescription
Méthode publiqueDataListCommandEventArgsInitialise une nouvelle instance de la classe DataListCommandEventArgs.
Début

  NomDescription
Propriété publiqueCommandArgumentObtient l'argument de la commande. (Hérité de CommandEventArgs.)
Propriété publiqueCommandNameObtient le nom de la commande. (Hérité de CommandEventArgs.)
Propriété publiqueCommandSourceObtient la source de la commande.
Propriété publiqueItemObtient l'élément contenant la source de la commande dans le contrôle DataList.
Début

  NomDescription
Méthode publiqueEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégéeFinalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publiqueGetHashCodeSert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégéeMemberwiseCloneCrée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actif. (Hérité de Object.)
Début

L'événement CancelCommand est déclenché suite à un clic sur le bouton Cancel pour un élément dans le contrôle DataList.

L'événement DeleteCommand est déclenché lorsqu'un clic est effectué sur le bouton Delete pour un élément dans le contrôle DataList.

L'événement EditCommand est déclenché lorsqu'un clic est effectué sur le bouton Edit pour un élément dans le contrôle DataList.

L'événement ItemCommand est déclenché suite à un clic sur n'importe quel bouton pour un élément dans le contrôle DataList. Cela vous permet d'accomplir des tests par programme lorsqu'un clic est effectué sur un bouton de commande spécifique et d'entreprendre l'action appropriée. Cet événement est généralement utilisé pour gérer des boutons de commande personnalisés pour le contrôle DataList.

L'événement UpdateCommand est déclenché suite à un clic sur le bouton Update pour un élément dans le contrôle DataList.

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

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

TopicLocation
Comment : personnaliser des éléments DataList au moment de l'exécutionGénération d'applications Web ASP.NET dans Visual Studio
Comment : personnaliser des éléments DataList au moment de l'exécutionGénération d'applications Web ASP.NET dans Visual Studio
Comment : personnaliser des éléments DataList au moment de l'exécutionGénération d'applications Web ASP.NET

L'exemple suivant montre comment définir des gestionnaires d'événements pour les événements EditCommand, UpdateCommand, CancelCommand et DeleteCommand d'un contrôle DataList. Cet exemple spécifie les gestionnaires d'événements de manière déclarative, en définissant le gestionnaire d'événements pour chaque propriété de commande du contrôle DataList.



<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>

<!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>
    <title>DataList Edit Example</title>
<script runat="server">

      // The Cart and CartView objects temporarily store the data source
      // for the DataList control while the page is being processed.
      DataTable Cart = new DataTable();
      DataView CartView;   

      void Page_Load(Object sender, EventArgs e) 
      {

         // With a database, use an select query to retrieve the data. 
         // Because the data source in this example is an in-memory
         // DataTable, retrieve the data from session state if it exists;
         // otherwise, create the data source.
         GetSource();

         // The DataList control maintains state between posts to the server;
         // it only needs to be bound to a data source the first time the
         // page is loaded or when the data source is updated.
         if (!IsPostBack)
         {

            BindList();

         }

      }

      void BindList() 
      {

         // Set the data source and bind to the DataList control.
         ItemsList.DataSource = CartView;
         ItemsList.DataBind();

      }

      void GetSource()
      {

         // For this example, the data source is a DataTable that 
         // is stored in session state. If the data source does not exist,
         // create it; otherwise, load the data.
         if (Session["ShoppingCart"] == null) 
         {     

            // Create the sample data.
            DataRow dr;  

            // Define the columns of the table.
            Cart.Columns.Add(new DataColumn("Qty", typeof(Int32)));
            Cart.Columns.Add(new DataColumn("Item", typeof(String)));
            Cart.Columns.Add(new DataColumn("Price", typeof(Double)));

            // Store the table in session state to persist its values 
            // between posts to the server.
            Session["ShoppingCart"] = Cart;

            // Populate the DataTable with sample data.
            for (int i = 1; i <= 9; i++) 
            {
               dr = Cart.NewRow();
               if (i % 2 != 0)
               {
                  dr[0] = 2;
               }
               else
               {
                  dr[0] = 1;
               }
               dr[1] = "Item " + i.ToString();
               dr[2] = (1.23 * (i + 1));
               Cart.Rows.Add(dr);
            }

         } 

         else
         {

            // Retrieve the sample data from session state.
            Cart = (DataTable)Session["ShoppingCart"];

         }         

         // Create a DataView and specify the field to sort by.
         CartView = new DataView(Cart);
         CartView.Sort="Item";

         return;

      }

      void Edit_Command(Object sender, DataListCommandEventArgs e) 
      {

         // Set the EditItemIndex property to the index of the item clicked
         // in the DataList control to enable editing for that item. Be sure
         // to rebind the DataList to the data source to refresh the control.
         ItemsList.EditItemIndex = e.Item.ItemIndex;
         BindList();

      }

      void Cancel_Command(Object sender, DataListCommandEventArgs e) 
      {

         // Set the EditItemIndex property to -1 to exit editing mode. Be sure
         // to rebind the DataList to the data source to refresh the control.
         ItemsList.EditItemIndex = -1;
         BindList();

      }

      void Delete_Command(Object sender, DataListCommandEventArgs e) 
      { 

         // Retrieve the name of the item to remove.
         String item = ((Label)e.Item.FindControl("ItemLabel")).Text;

         // Filter the CartView for the selected item and remove it from
         // the data source.
         CartView.RowFilter = "Item='" + item + "'";
         if (CartView.Count > 0) 
         {
            CartView.Delete(0);
         }
         CartView.RowFilter = "";

         // Set the EditItemIndex property to -1 to exit editing mode. Be sure
         // to rebind the DataList to the data source to refresh the control.
         ItemsList.EditItemIndex = -1;
         BindList();

      }

      void Update_Command(Object sender, DataListCommandEventArgs e) 
      {

         // Retrieve the updated values from the selected item.
         String item = ((Label)e.Item.FindControl("ItemLabel")).Text;
         String qty = ((TextBox)e.Item.FindControl("QtyTextBox")).Text;
         String price = ((TextBox)e.Item.FindControl("PriceTextBox")).Text;

         // With a database, use an update command to update the data.
         // Because the data source in this example is an in-memory 
         // DataTable, delete the old row and replace it with a new one.

         // Filter the CartView for the selected item and remove it from
         // the data source.
         CartView.RowFilter = "Item='" + item + "'";
         if (CartView.Count > 0)
         {
            CartView.Delete(0);
         }
         CartView.RowFilter = "";

         // ***************************************************************
         // Insert data validation code here. Make sure to validate the
         // values entered by the user before converting to the appropriate
         // data types and updating the data source.
         // ***************************************************************

         // Add a new entry to replace the previous item.
         DataRow dr = Cart.NewRow();
         dr[0] = qty;
         dr[1] = item;
         // If necessary, remove the '$' character from the price before
         // converting the price to a Double.
         if(price[0] == '$')
         {
            dr[2] = Convert.ToDouble(price.Substring(1));
         }
         else
         {
            dr[2] = Convert.ToDouble(price);
         }
         Cart.Rows.Add(dr);

         // Set the EditItemIndex property to -1 to exit editing mode. 
         // Be sure to rebind the DataList to the data source to refresh
         // the control.
         ItemsList.EditItemIndex = -1;
         BindList();

      }

   </script>

</head>
<body>

   <form id="form1" runat="server">

      <h3>DataList Edit Example</h3>

      Click <b>Edit</b> to edit the values of the item.

      <br /><br />

      <asp:DataList id="ItemsList"
           GridLines="Both"
           RepeatColumns="3"
           RepeatDirection="Horizontal"
           CellPadding="3"
           CellSpacing="0"
           OnEditCommand="Edit_Command"
           OnUpdateCommand="Update_Command"
           OnDeleteCommand="Delete_Command"
           OnCancelCommand="Cancel_Command"
           runat="server">

         <HeaderStyle BackColor="#aaaadd">
         </HeaderStyle>

         <AlternatingItemStyle BackColor="Gainsboro">
         </AlternatingItemStyle>

         <EditItemStyle BackColor="yellow">
         </EditItemStyle>

         <HeaderTemplate>

            Items

         </HeaderTemplate>

         <ItemTemplate>

            Item:
            <%# DataBinder.Eval(Container.DataItem, "Item") %> 

            <br />

            Quantity:
            <%# DataBinder.Eval(Container.DataItem, "Qty") %>

            <br />

            Price:
            <%# DataBinder.Eval(Container.DataItem, "Price", "{0:c}") %>

            <br />

            <asp:LinkButton id="EditButton" 
                 Text="Edit" 
                 CommandName="Edit"
                 runat="server"/>

         </ItemTemplate>

         <EditItemTemplate>

            Item:
            <asp:Label id="ItemLabel" 
                 Text='<%# DataBinder.Eval(Container.DataItem, "Item") %>' 
                 runat="server"/>

            <br />

            Quantity:
            <asp:TextBox id="QtyTextBox" 
                 Text='<%# DataBinder.Eval(Container.DataItem, "Qty") %>' 
                 runat="server"/>

            <br />

            Price:
            <asp:TextBox id="PriceTextBox" 
                 Text='<%# DataBinder.Eval(Container.DataItem, "Price", "{0:c}") %>' 
                 runat="server"/>

            <br />

            <asp:LinkButton id="UpdateButton" 
                 Text="Update" 
                 CommandName="Update" 
                 runat="server"/>

            <asp:LinkButton id="DeleteButton" 
                 Text="Delete" 
                 CommandName="Delete" 
                 runat="server"/>

            <asp:LinkButton id="CancelButton" 
                 Text="Cancel" 
                 CommandName="Cancel" 
                 runat="server"/>

         </EditItemTemplate>

      </asp:DataList>

   </form>

</body>
</html>



L'exemple suivant montre comment spécifier les gestionnaires d'événements et les ajouter par programme aux événements de la méthode Page_Load.



<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>

<!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>
    <title>DataList Edit Example</title>
<script runat="server">

      // The Cart and CartView objects temporarily store the data source
      // for the DataList control while the page is being processed.
      DataTable Cart = new DataTable();
      DataView CartView;   

      void Page_Load(Object sender, EventArgs e) 
      {

         // With a database, use an select query to retrieve the data. 
         // Because the data source in this example is an in-memory
         // DataTable, retrieve the data from session state if it exists;
         // otherwise, create the data source.
         GetSource();

         // The DataList control maintains state between posts to the server;
         // it only needs to be bound to a data source the first time the
         // page is loaded or when the data source is updated.
         if (!IsPostBack)
         {

            BindList();

         }

         // Manually register the event-handling methods.
         ItemsList.EditCommand += 
             new DataListCommandEventHandler(this.Edit_Command);
         ItemsList.UpdateCommand += 
             new DataListCommandEventHandler(this.Update_Command);
         ItemsList.DeleteCommand += 
             new DataListCommandEventHandler(this.Delete_Command);
         ItemsList.CancelCommand += 
             new DataListCommandEventHandler(this.Cancel_Command);

      }

      void BindList() 
      {

         // Set the data source and bind to the DataList control.
         ItemsList.DataSource = CartView;
         ItemsList.DataBind();

      }

      void GetSource()
      {

         // For this example, the data source is a DataTable that 
         // is stored in session state. If the data source does not exist,
         // create it; otherwise, load the data.
         if (Session["ShoppingCart"] == null) 
         {     

            // Create the sample data.
            DataRow dr;  

            // Define the columns of the table.
            Cart.Columns.Add(new DataColumn("Qty", typeof(Int32)));
            Cart.Columns.Add(new DataColumn("Item", typeof(String)));
            Cart.Columns.Add(new DataColumn("Price", typeof(Double)));

            // Store the table in session state to persist its values
            // between posts to the server.
            Session["ShoppingCart"] = Cart;

            // Populate the DataTable with sample data.
            for (int i = 1; i <= 9; i++) 
            {
               dr = Cart.NewRow();
               if (i % 2 != 0)
               {
                  dr[0] = 2;
               }
               else
               {
                  dr[0] = 1;
               }
               dr[1] = "Item " + i.ToString();
               dr[2] = (1.23 * (i + 1));
               Cart.Rows.Add(dr);
            }

         } 

         else
         {

            // Retrieve the sample data from session state.
            Cart = (DataTable)Session["ShoppingCart"];

         }         

         // Create a DataView and specify the field to sort by.
         CartView = new DataView(Cart);
         CartView.Sort="Item";

         return;

      }

      void Edit_Command(Object sender, DataListCommandEventArgs e) 
      {

         // Set the EditItemIndex property to the index of the item clicked
         // in the DataList control to enable editing for that item. Be sure
         // to rebind the DataList to the data source to refresh the control.
         ItemsList.EditItemIndex = e.Item.ItemIndex;
         BindList();

      }

      void Cancel_Command(Object sender, DataListCommandEventArgs e) 
      {

         // Set the EditItemIndex property to -1 to exit editing mode. Be sure
         // to rebind the DataList to the data source to refresh the control.
         ItemsList.EditItemIndex = -1;
         BindList();

      }

      void Delete_Command(Object sender, DataListCommandEventArgs e) 
      { 

         // Retrieve the name of the item to remove.
         String item = ((Label)e.Item.FindControl("ItemLabel")).Text;

         // Filter the CartView for the selected item and remove it from
         // the data source.
         CartView.RowFilter = "Item='" + item + "'";
         if (CartView.Count > 0) 
         {
            CartView.Delete(0);
         }
         CartView.RowFilter = "";

         // Set the EditItemIndex property to -1 to exit editing mode. Be sure
         // to rebind the DataList to the data source to refresh the control.
         ItemsList.EditItemIndex = -1;
         BindList();

      }

      void Update_Command(Object sender, DataListCommandEventArgs e) 
      {

         // Retrieve the updated values from the selected item.
         String item = ((Label)e.Item.FindControl("ItemLabel")).Text;
         String qty = ((TextBox)e.Item.FindControl("QtyTextBox")).Text;
         String price = ((TextBox)e.Item.FindControl("PriceTextBox")).Text;

         // With a database, use an update command to update the data.
         // Because the data source in this example is an in-memory 
         // DataTable, delete the old row and replace it with a new one.

         // Filter the CartView for the selected item and remove it from
         // the data source.
         CartView.RowFilter = "Item='" + item + "'";
         if (CartView.Count > 0)
         {
            CartView.Delete(0);
         }
         CartView.RowFilter = "";

         // ***************************************************************
         // Insert data validation code here. Make sure to validate the
         // values entered by the user before converting to the appropriate
         // data types and updating the data source.
         // ***************************************************************

         // Add a new entry to replace the previous item.
         DataRow dr = Cart.NewRow();
         dr[0] = qty;
         dr[1] = item;
         // If necessary, remove the '$' character from the price before
         // converting the price to a Double.
         if(price[0] == '$')
         {
            dr[2] = Convert.ToDouble(price.Substring(1));
         }
         else
         {
            dr[2] = Convert.ToDouble(price);
         }
         Cart.Rows.Add(dr);

         // Set the EditItemIndex property to -1 to exit editing mode. 
         // Be sure to rebind the DataList to the data source to refresh
         // the control.
         ItemsList.EditItemIndex = -1;
         BindList();

      }

   </script>

</head>
<body>

   <form id="form1" runat="server">

      <h3>DataList Edit Example</h3>

      Click <b>Edit</b> to edit the values of the item.

      <br /><br />

      <asp:DataList id="ItemsList"
           GridLines="Both"
           RepeatColumns="3"
           RepeatDirection="Horizontal"
           CellPadding="3"
           CellSpacing="0"
           runat="server">

         <HeaderStyle BackColor="#aaaadd">
         </HeaderStyle>

         <AlternatingItemStyle BackColor="Gainsboro">
         </AlternatingItemStyle>

         <EditItemStyle BackColor="yellow">
         </EditItemStyle>

         <HeaderTemplate>

            Items

         </HeaderTemplate>

         <ItemTemplate>

            Item:
            <%# DataBinder.Eval(Container.DataItem, "Item") %> 

            <br />

            Quantity:
            <%# DataBinder.Eval(Container.DataItem, "Qty") %>

            <br />

            Price:
            <%# DataBinder.Eval(Container.DataItem, "Price", "{0:c}") %>

            <br />

            <asp:LinkButton id="EditButton" 
                 Text="Edit" 
                 CommandName="Edit"
                 runat="server"/>

         </ItemTemplate>

         <EditItemTemplate>

            Item:
            <asp:Label id="ItemLabel" 
                 Text='<%# DataBinder.Eval(Container.DataItem, "Item") %>' 
                 runat="server"/>

            <br />

            Quantity:
            <asp:TextBox id="QtyTextBox" 
                 Text='<%# DataBinder.Eval(Container.DataItem, "Qty") %>' 
                 runat="server"/>

            <br />

            Price:
            <asp:TextBox id="PriceTextBox" 
                 Text='<%# DataBinder.Eval(Container.DataItem, "Price", "{0:c}") %>' 
                 runat="server"/>

            <br />

            <asp:LinkButton id="UpdateButton" 
                 Text="Update" 
                 CommandName="Update" 
                 runat="server"/>

            <asp:LinkButton id="DeleteButton" 
                 Text="Delete" 
                 CommandName="Delete" 
                 runat="server"/>

            <asp:LinkButton id="CancelButton" 
                 Text="Cancel" 
                 CommandName="Cancel" 
                 runat="server"/>

         </EditItemTemplate>

      </asp:DataList>

   </form>

</body>
</html>



.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

Windows Phone 8.1, Windows Phone 8, 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)

Le .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.

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

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft