Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

EditCommandColumn classe

 

Date de publication : novembre 2016

Type de colonne spécial pour le contrôle DataGrid contenant les boutons Edit permettant de modifier des éléments de données dans chaque ligne.

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

System.Object
  System.Web.UI.WebControls.DataGridColumn
    System.Web.UI.WebControls.EditCommandColumn

public class EditCommandColumn : DataGridColumn

NomDescription
System_CAPS_pubmethodEditCommandColumn()

Initialise une nouvelle instance de la classe EditCommandColumn.

NomDescription
System_CAPS_pubpropertyButtonType

Obtient ou définit le type de bouton pour la colonne.

System_CAPS_pubpropertyCancelText

Obtient ou définit le texte à afficher pour le Cancel bouton de commande dans le EditCommandColumn.

System_CAPS_pubpropertyCausesValidation

Obtient ou définit une valeur indiquant si une validation est effectuée lorsqu’un Update située dans le EditCommandColumn clique sur un objet.

System_CAPS_protpropertyDesignMode

Obtient une valeur qui indique si la colonne est en mode Création.(Hérité de DataGridColumn.)

System_CAPS_pubpropertyEditText

Obtient ou définit le texte à afficher pour le Edit située dans le EditCommandColumn.

System_CAPS_pubpropertyFooterStyle

Obtient les propriétés de style pour la section de pied de page de la colonne.(Hérité de DataGridColumn.)

System_CAPS_pubpropertyFooterText

Obtient ou définit le texte affiché dans la section de pied de page de la colonne.(Hérité de DataGridColumn.)

System_CAPS_pubpropertyHeaderImageUrl

Obtient ou définit l’emplacement d’une image à afficher dans la section d’en-tête de la colonne.(Hérité de DataGridColumn.)

System_CAPS_pubpropertyHeaderStyle

Obtient les propriétés de style pour la section d’en-tête de la colonne.(Hérité de DataGridColumn.)

System_CAPS_pubpropertyHeaderText

Obtient ou définit le texte affiché dans la section d’en-tête de la colonne.(Hérité de DataGridColumn.)

System_CAPS_protpropertyIsTrackingViewState

Obtient une valeur qui détermine si le DataGridColumn objet est marqué pour enregistrer son état.(Hérité de DataGridColumn.)

System_CAPS_pubpropertyItemStyle

Obtient les propriétés de style pour les cellules d’éléments de la colonne.(Hérité de DataGridColumn.)

System_CAPS_protpropertyOwner

Obtient le DataGrid contrôle dont la colonne est membre.(Hérité de DataGridColumn.)

System_CAPS_pubpropertySortExpression

Obtient ou définit le nom du champ ou de l’expression à passer à la OnSortCommand méthode lorsqu’une colonne est sélectionnée pour le tri.(Hérité de DataGridColumn.)

System_CAPS_pubpropertyUpdateText

Obtient ou définit le texte à afficher pour le Update bouton de commande dans le EditCommandColumn.

System_CAPS_pubpropertyValidationGroup

Obtient ou définit le groupe de contrôles de validation pour lequel le EditCommandColumn objet provoque la validation lors de la publication sur le serveur.

System_CAPS_protpropertyViewState

Obtient le System.Web.UI.StateBag objet qui permet à une colonne dérivée de la DataGridColumn classe pour stocker ses propriétés.(Hérité de DataGridColumn.)

System_CAPS_pubpropertyVisible

Obtient ou définit une valeur qui indique si la colonne est visible dans le DataGrid contrôle.(Hérité de DataGridColumn.)

NomDescription
System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.(Hérité de Object.)

System_CAPS_protmethodFinalize()

Autorise un objet à tenter de libérer des ressources et à exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par une opération garbage collection.(Hérité de Object.)

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut.(Hérité de Object.)

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_pubmethodInitialize()

Fournit l’implémentation de base pour réinitialiser une colonne dérivée de la DataGridColumn classe dans son état initial.(Hérité de DataGridColumn.)

System_CAPS_pubmethodInitializeCell(TableCell, Int32, ListItemType)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Initialise une cellule dans la colonne.(Remplace DataGridColumn.InitializeCell(TableCell, Int32, ListItemType).)

System_CAPS_protmethodLoadViewState(Object)

Charge l’état de la DataGridColumn objet.(Hérité de DataGridColumn.)

System_CAPS_protmethodMemberwiseClone()

Crée une copie superficielle du Object actuel.(Hérité de Object.)

System_CAPS_protmethodOnColumnChanged()

Appelle le DataGridDesigner.OnColumnsChanged (méthode).(Hérité de DataGridColumn.)

System_CAPS_protmethodSaveViewState()

Enregistre l’état actuel de la DataGridColumn objet.(Hérité de DataGridColumn.)

System_CAPS_pubmethodToString()

Retourne la représentation sous forme de chaîne de la colonne.(Hérité de DataGridColumn.)

System_CAPS_protmethodTrackViewState()

Provoque le suivi des modifications d’état d’affichage pour le contrôle serveur afin qu’elles puissent être stockées dans le contrôle de serveur System.Web.UI.StateBag objet.(Hérité de DataGridColumn.)

NomDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethodIStateManager.LoadViewState(Object)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Charge l’état enregistré précédemment.(Hérité de DataGridColumn.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIStateManager.SaveViewState()

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Retourne un objet contenant les modifications d’état.(Hérité de DataGridColumn.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIStateManager.TrackViewState()

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Démarre le suivi des modifications d’état.(Hérité de DataGridColumn.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIStateManager.IsTrackingViewState

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Obtient une valeur qui indique si la colonne de suivi des modifications d’état de vue.(Hérité de DataGridColumn.)

Use the T:System.Web.UI.WebControls.EditCommandColumn class to create a special column for the T:System.Web.UI.WebControls.DataGrid control that contains the Edit, Update, and Cancel buttons for each data row in the grid. These buttons allow you to edit the values of a row in the T:System.Web.UI.WebControls.DataGrid control.

If no row is selected, an Edit button displays in the T:System.Web.UI.WebControls.EditCommandColumn object for each data row in the T:System.Web.UI.WebControls.DataGrid control. When the Edit button for an item is clicked, the E:System.Web.UI.WebControls.DataGrid.EditCommand event is raised and the Edit button is replaced with the Update and Cancel buttons. You need to provide code to handle the E:System.Web.UI.WebControls.DataGrid.EditCommand event. A typical event handler sets the P:System.Web.UI.WebControls.DataGrid.EditItemIndex property to the selected row, and then rebinds the data to the T:System.Web.UI.WebControls.DataGrid control.

System_CAPS_noteRemarque

You must provide values for the P:System.Web.UI.WebControls.EditCommandColumn.CancelText, P:System.Web.UI.WebControls.EditCommandColumn.EditText, and P:System.Web.UI.WebControls.EditCommandColumn.UpdateText properties. Otherwise, the associated buttons will not appear in the T:System.Web.UI.WebControls.EditCommandColumn.

The buttons in the T:System.Web.UI.WebControls.EditCommandColumn can be set to display as hyperlinks or push buttons by setting the P:System.Web.UI.WebControls.EditCommandColumn.ButtonType property.

Clicking the Update or Cancel button raises the E:System.Web.UI.WebControls.DataGrid.UpdateCommand or E:System.Web.UI.WebControls.DataGrid.CancelCommand event, respectively. You need to provide code to handle these events.

A typical handler for the E:System.Web.UI.WebControls.DataGrid.UpdateCommand event updates the data, sets the P:System.Web.UI.WebControls.DataGrid.EditItemIndex property to -1 (to deselect the item), and then rebinds the data to the T:System.Web.UI.WebControls.DataGrid control.

A typical handler for the E:System.Web.UI.WebControls.DataGrid.CancelCommand event sets the P:System.Web.UI.WebControls.DataGrid.EditItemIndex property to -1 (to deselect the item), and then rebinds the data to the T:System.Web.UI.WebControls.DataGrid control.

System_CAPS_cautionAttention

The T:System.Web.UI.WebControls.EditCommandColumn object can be used to display user input, which might include malicious client script. Check any information that is sent from a client for executable script, SQL statements, or other code before displaying it in your application. You can use validation controls to verify user input before displaying the input text in a T:System.Web.UI.WebControls.DataGrid control. ASP.NET provides an input request validation feature to block script and HTML in user input. For more information, see Securing Standard Controls, How to: Protect Against Script Exploits in a Web Application by Applying HTML Encoding to Strings, and Validating User Input in ASP.NET Web Pages.

By default, page validation is performed when an Update button in the T:System.Web.UI.WebControls.EditCommandColumn control is clicked. Page validation determines whether the input controls that are associated with a validation control on the page all pass the validation rules that are specified by the validation control. To prevent page validation from occurring, set the P:System.Web.UI.WebControls.EditCommandColumn.CausesValidation property to false.

The following code example demonstrates how to add an T:System.Web.UI.WebControls.EditCommandColumn object to a T:System.Web.UI.WebControls.DataGrid control.


<%@ 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" >
   <script runat="server">

      // The Cart and CartView objects temporarily store the data source
      // for the DataGrid 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 DataGrid 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)
         {

            BindGrid();

         }

      }

      void ItemsGrid_Edit(Object sender, DataGridCommandEventArgs e) 
      {

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

      }

      void ItemsGrid_Cancel(Object sender, DataGridCommandEventArgs e) 
      {

         // Set the EditItemIndex property to -1 to exit editing mode. 
         // Be sure to rebind the DateGrid to the data source to refresh
         // the control.
         ItemsGrid.EditItemIndex = -1;
         BindGrid();

      }

      void ItemsGrid_Update(Object sender, DataGridCommandEventArgs e) 
      {

         // Retrieve the text boxes that contain the values to update.
         // For bound columns, the edited value is stored in a TextBox.
         // The TextBox is the 0th control in a cell's Controls collection.
         // Each cell in the Cells collection of a DataGrid item represents
         // a column in the DataGrid control.
         TextBox qtyText = (TextBox)e.Item.Cells[3].Controls[0];
         TextBox priceText = (TextBox)e.Item.Cells[4].Controls[0];

         // Retrieve the updated values.
         String item = e.Item.Cells[2].Text;
         String qty = qtyText.Text;
         String price = priceText.Text;

         DataRow dr;

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

         // Remove the old entry and clear the row filter.
         CartView.RowFilter = "Item='" + item + "'";
         if (CartView.Count > 0)
         {
            CartView.Delete(0);
         }
         CartView.RowFilter = "";

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

         // Add the new entry.
         dr = Cart.NewRow();
         dr[0] = Convert.ToInt32(qty);
         dr[1] = item;

         // If necessary, remove the '$' character from the price before 
         // converting it 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 DateGrid to the data source to refresh
         // the control.
         ItemsGrid.EditItemIndex = -1;
         BindGrid();

      }

      void BindGrid() 
      {

         // Set the data source and bind to the Data Grid control.
         ItemsGrid.DataSource = CartView;
         ItemsGrid.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 ItemsGrid_Command(Object sender, DataGridCommandEventArgs e)
      {

         switch(((LinkButton)e.CommandSource).CommandName)
         {

            case "Delete":
               DeleteItem(e);
               break;

            // Add other cases here, if there are multiple ButtonColumns in 
            // the DataGrid control.

            default:
               // Do nothing.
               break;

         }

      }

      void DeleteItem(DataGridCommandEventArgs e)
      {

         // e.Item is the table row where the command is raised. For bound
         // columns, the value is stored in the Text property of a TableCell.
         TableCell itemCell = e.Item.Cells[2];
         string item = itemCell.Text;

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

         // Rebind the data source to refresh the DataGrid control.
         BindGrid();

      }

   </script>

<head runat="server">
    <title>DataGrid Editing Example</title>
</head>
<body>

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

      <h3>DataGrid Editing Example</h3>

      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           OnEditCommand="ItemsGrid_Edit"
           OnCancelCommand="ItemsGrid_Cancel"
           OnUpdateCommand="ItemsGrid_Update"
           OnItemCommand="ItemsGrid_Command"
           AutoGenerateColumns="false"
           runat="server">

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

         <Columns>

            <asp:EditCommandColumn
                 EditText="Edit"
                 CancelText="Cancel"
                 UpdateText="Update" 
                 HeaderText="Edit item">

               <ItemStyle Wrap="False">
               </ItemStyle>

               <HeaderStyle Wrap="False">
               </HeaderStyle>

            </asp:EditCommandColumn>

            <asp:ButtonColumn 
                 HeaderText="Delete item" 
                 ButtonType="LinkButton" 
                 Text="Delete" 
                 CommandName="Delete"/>  

            <asp:BoundColumn HeaderText="Item" 
                 ReadOnly="True" 
                 DataField="Item"/>

            <asp:BoundColumn HeaderText="Quantity" 
                 DataField="Qty"/>

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

         </Columns>

      </asp:DataGrid>

   </form>

</body>
</html>

AspNetHostingPermission

for operating in a hosted environment. Demand value: F:System.Security.Permissions.SecurityAction.LinkDemand; Permission value: F:System.Web.AspNetHostingPermissionLevel.Minimal.

AspNetHostingPermission

for operating in a hosted environment. Demand value: F:System.Security.Permissions.SecurityAction.InheritanceDemand; Permission value: F:System.Web.AspNetHostingPermissionLevel.Minimal.

.NET Framework
Disponible depuis 1.1

Tous les membres statiques publics ( Shared en Visual Basic) de ce type sont thread-safe. Les membres d’instance n’ont pas la garantie d’être thread-safe.

Retour au début
Afficher: