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

ListView.ItemCommand événement

 

Date de publication : novembre 2016

Se produit lorsqu’un bouton dans un ListView est activé.

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

public event EventHandler<ListViewCommandEventArgs> ItemCommand

Le ItemCommand événement est déclenché lorsqu’un bouton dans le ListView est activé. Cela permet d’exécuter une routine personnalisée chaque fois que cet événement se produit.

Les boutons dans une ListView contrôle peut également appeler la fonctionnalité intégrée du contrôle. Le tableau suivant répertorie les valeurs que vous pouvez utiliser avec le CommandName propriété d’un bouton pour appeler la fonctionnalité intégrée.

Valeur de CommandName

Description

« Annuler »

Annule une opération de modification ou d’insertion. Déclenche l'événement ItemCanceling.

"Delete"

Supprime l’enregistrement actuel à partir de la source de données. Déclenche la ItemDeleted et ItemDeleting les événements.

« Select »

Définit le SelectedIndex propriété du DisplayIndex valeur de propriété pour l’élément. Restitue le SelectedItemTemplate modèle pour l’élément. Déclenche la SelectedIndexChanging et SelectedIndexChanged les événements.

« Modifier »

Place l’élément en mode édition. Restitue le EditItemTemplate modèle pour l’élément. Déclenche l'événement ItemEditing.

« Insertion »

Insère les valeurs liées à partir de la InsertItemTemplate modèle dans la source de données. Déclenche la ItemInserting et ItemInserted les événements.

« Update »

Met à jour l’enregistrement actif dans la source de données avec les valeurs liées à partir de la EditItemTemplate modèle. Déclenche la ItemUpdating et ItemUpdated les événements.

« Tri »

Trie les colonnes répertoriées dans le CommandArgument propriété du bouton. Déclenche la Sorting et Sorted les événements.

Le ItemCommand est également déclenché lorsque l’utilisateur clique sur un bouton qui est répertorié dans le tableau précédent. Toutefois, il est recommandé d’utiliser les événements répertoriés dans le tableau. Le ItemCommand événement est généralement utilisé pour gérer des opérations personnalisées.

Un ListViewCommandEventArgs objet est passé au gestionnaire d’événements, qui vous permet de déterminer le nom de la commande et l’argument de commande du bouton sur lequel l’utilisateur a cliqué. Pour déterminer le nom de commande, utilisez le CommandEventArgs.CommandName propriété. Pour déterminer l’argument de commande, utilisez le CommandEventArgs.CommandArgument propriété. Pour accéder au contrôle qui a déclenché l’événement, utilisez le ListViewCommandEventArgs.CommandSource propriété.

Pour plus d’informations sur la gestion des événements, consultez la page NIB : consommation d’événements.

L’exemple suivant montre comment créer un ItemCommand Gestionnaire d’événements.

<%@ 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">
  protected void EmployeesListView_OnItemCommand(object sender, ListViewCommandEventArgs e)
  {
    if (String.Equals(e.CommandName, "AddToList"))
    {
      // Verify that the employee ID is not already in the list. If not, add the
      // employee to the list.
      ListViewDataItem dataItem = (ListViewDataItem)e.Item;
      string employeeID = 
        EmployeesListView.DataKeys[dataItem.DisplayIndex].Value.ToString();

      if (SelectedEmployeesListBox.Items.FindByValue(employeeID) == null)
      {
        ListItem item = new ListItem(e.CommandArgument.ToString(), employeeID);
        SelectedEmployeesListBox.Items.Add(item);
      }
    }
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Employee List</title>
  </head>
  <body>
    <form id="form1" runat="server">
      <asp:ListView runat="server" 
        ID="EmployeesListView"
        OnItemCommand="EmployeesListView_OnItemCommand"
        DataSourceID="EmployeesDataSource" 
        DataKeyNames="EmployeeID">
        <LayoutTemplate>
          <table runat="server" id="tblEmployees" 
                 cellspacing="0" cellpadding="1" width="440px" border="1">
            <tr id="itemPlaceholder" runat="server"></tr>
          </table>
          <asp:DataPager ID="EmployeesDataPager" runat="server" PageSize="10">
            <Fields>
              <asp:NumericPagerField />
            </Fields>
          </asp:DataPager>
        </LayoutTemplate>
        <ItemTemplate>
          <tr runat="server">
            <td>
              <asp:Label runat="server" ID="NameLabel" 
                Text='<%#Eval("LastName") + ", " + Eval("FirstName") %>' />
            </td>
            <td style="width:80px">
              <asp:LinkButton runat="server" 
                ID="SelectEmployeeButton" 
                Text="Add To List" 
                CommandName="AddToList" 
                CommandArgument='<%#Eval("LastName") + ", " + Eval("FirstName") %>' />
            </td>
          </tr>
        </ItemTemplate>
      </asp:ListView>

      <br /><br />
      <b>Selected Employees:</b><br />
      <asp:ListBox runat="server" ID="SelectedEmployeesListBox" Rows="10" Width="300px" />

      <!-- This example uses Microsoft SQL Server and connects      -->
      <!-- to the AdventureWorks sample database. Use an ASP.NET    -->
      <!-- expression to retrieve the connection string value       -->
      <!-- from the Web.config file.                                -->       
      <asp:SqlDataSource ID="EmployeesDataSource" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
        SelectCommand="SELECT [EmployeeID], [FirstName], [LastName]
                       FROM HumanResources.vEmployee
                       ORDER BY [LastName], [FirstName], [EmployeeID]">
      </asp:SqlDataSource>
    </form>
  </body>
</html>

.NET Framework
Disponible depuis 3.5
Retour au début
Afficher: