GridViewUpdatedEventArgs Classe

Définition

Fournit des données pour l'événement RowUpdated.Provides data for the RowUpdated event.

public ref class GridViewUpdatedEventArgs : EventArgs
public class GridViewUpdatedEventArgs : EventArgs
type GridViewUpdatedEventArgs = class
    inherit EventArgs
Public Class GridViewUpdatedEventArgs
Inherits EventArgs
Héritage
GridViewUpdatedEventArgs

Exemples

L’exemple suivant montre comment déterminer si une exception s’est produite pendant une opération de mise à jour.The following example shows how to determine whether an exception occurred during an update operation.


<%@ 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_RowUpdated(Object sender, GridViewUpdatedEventArgs e)
  {
    // Use the Exception property to determine whether an exception
    // occurred during the update operation.
    if (e.Exception == null)
    {
      // Sometimes an error might occur that does not raise an 
      // exception, but prevents the update operation from 
      // completing. Use the AffectedRows property to determine 
      // whether the record was actually updated. 
      if (e.AffectedRows == 1)
      {
        // Use the Keys property to get the value of the key field.
        String keyFieldValue = e.Keys["CustomerID"].ToString();

        // Display a confirmation message.
        Message.Text = "Record " + keyFieldValue +
          " updated successfully. ";

        // Display the new and original values.
        DisplayValues((OrderedDictionary)e.NewValues, (OrderedDictionary)e.OldValues);
      }
      else
      {
        // Display an error message.
        Message.Text = "An error occurred during the update operation.";

        // When an error occurs, keep the GridView
        // control in edit mode.
        e.KeepInEditMode = true;
      }
    }
    else
    {
      // Insert the code to handle the exception.
      Message.Text = e.Exception.Message;

      // Use the ExceptionHandled property to indicate that the 
      // exception is already handled.
      e.ExceptionHandled = true;

      e.KeepInEditMode = true;
    }
  }

  void DisplayValues(OrderedDictionary newValues, OrderedDictionary oldValues)
  {

    Message.Text += "<br/></br>";

    // Iterate through the new and old values. Display the
    // values on the page.
    for (int i = 0; i < oldValues.Count; i++)
    {
      Message.Text += "Old Value=" + oldValues[i].ToString() +
        ", New Value=" + newValues[i].ToString() + "<br/>";
    }

    Message.Text += "</br>";

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridViewUpdatedEventArgs Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridViewUpdatedEventArgs Example</h3>
            
      <!-- The GridView control automatically sets the columns     -->
      <!-- specified in the datakeynames property as read-only.    -->
      <!-- No input controls are rendered for these columns in     -->
      <!-- edit mode.                                              -->
      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="true"
        autogenerateeditbutton="true"
        allowpaging="true" 
        datakeynames="CustomerID"
        onrowupdated="CustomersGridView_RowUpdated" 
        runat="server">
      </asp:gridview>
      
      <br/>
      
      <asp:label id="Message"
        forecolor="Red"          
        runat="server"/>
            
      <!-- 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="CustomersSqlDataSource"  
        selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
        updatecommand="Update Customers SET CompanyName=@CompanyName, Address=@Address, City=@City, PostalCode=@PostalCode, Country=@Country WHERE (CustomerID = @CustomerID)"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
        runat="server">
      </asp:sqldatasource>
            
    </form>
  </body>
</html>


<%@ Page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Sub CustomersGridView_RowUpdated(sender As Object, e As GridViewUpdatedEventArgs)
  
    ' Use the Exception property to determine whether an exception
    ' occurred during the update operation.
    If e.Exception Is Nothing Then
    
      ' Sometimes an error might occur that does not raise an 
      ' exception, but prevents the update operation from 
      ' completing. Use the AffectedRows property to determine 
      ' whether the record was actually updated. 
      If e.AffectedRows = 1 Then
      
        ' Use the Keys property to get the value of the key field.
        Dim keyFieldValue As String = e.Keys("CustomerID").ToString()

        ' Display a confirmation message.
        Message.Text = "Record " & keyFieldValue & _
          " updated successfully. "

        ' Display the new and original values.
        DisplayValues(CType(e.NewValues, OrderedDictionary), CType(e.OldValues, OrderedDictionary))

      Else
      
        ' Display an error message.
        Message.Text = "An error occurred during the update operation."

        ' When an error occurs, keep the GridView
        ' control in edit mode.
        e.KeepInEditMode = True
        
      End If
    
    Else
    
      ' Insert the code to handle the exception.
      Message.Text = e.Exception.Message

      ' Use the ExceptionHandled property to indicate that the 
      ' exception is already handled.
      e.ExceptionHandled = True

      e.KeepInEditMode = True
    
    End If
  
  End Sub

  Sub DisplayValues(ByVal newValues As OrderedDictionary, ByVal oldValues As OrderedDictionary)

    Message.Text &= "<br/></br>"

    ' Iterate through the new and old values. Display the
    ' values on the page.
    Dim i As Integer
    For i = 0 To oldValues.Count - 1
    
      Message.Text &= "Old Value=" & oldValues(i).ToString() & _
        ", New Value=" & newValues(i).ToString() & "<br/>"
    Next

    Message.Text &= "</br>"

  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridViewUpdatedEventArgs Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridViewUpdatedEventArgs Example</h3>
            
      <!-- The GridView control automatically sets the columns     -->
      <!-- specified in the datakeynames property as read-only.    -->
      <!-- No input controls are rendered for these columns in     -->
      <!-- edit mode.                                              -->
      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="true"
        autogenerateeditbutton="true"
        allowpaging="true" 
        datakeynames="CustomerID"
        onrowupdated="CustomersGridView_RowUpdated" 
        runat="server">
      </asp:gridview>
      
      <br/>
      
      <asp:label id="Message"
        forecolor="Red"          
        runat="server"/>
            
      <!-- 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="CustomersSqlDataSource"  
        selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
        updatecommand="Update Customers SET CompanyName=@CompanyName, Address=@Address, City=@City, PostalCode=@PostalCode, Country=@Country WHERE (CustomerID = @CustomerID)"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
        runat="server">
      </asp:sqldatasource>
            
    </form>
  </body>
</html>

Remarques

Le GridView contrôle déclenche l' RowUpdated événement lorsqu’un utilisateur clique sur un bouton mettre à jour dans le contrôle, mais après que le GridView contrôle a mis à jour l’enregistrement.The GridView control raises the RowUpdated event when an Update button in the control is clicked, but after the GridView control updates the record. (Un bouton mettre à jour est un contrôle bouton dont la CommandName propriété a la valeur « Update ».) Vous pouvez exécuter une routine personnalisée chaque fois que cet événement se produit, par exemple en vérifiant les résultats d’une opération de mise à jour.(An Update button is a button control whose CommandName property is set to "Update".) You can perform a custom routine whenever this event occurs, such as checking the results of an update operation.

Un GridViewUpdatedEventArgs objet est passé au gestionnaire d’événements, ce qui vous permet de déterminer le nombre d’enregistrements qui ont été affectés et toutes les exceptions qui ont pu se produire.A GridViewUpdatedEventArgs object is passed to the event handler, which enables you to determine the number of records that were affected and any exceptions that might have occurred. Pour déterminer le nombre d’enregistrements qui ont été affectés par l’opération de mise à jour, utilisez la AffectedRows propriété.To determine the number of records that were affected by the update operation, use the AffectedRows property. Pour déterminer si des exceptions se sont produites, utilisez la Exception propriété.To determine whether any exceptions occurred, use the Exception property. Vous pouvez également indiquer si l’exception a été gérée dans le gestionnaire d’événements en définissant la ExceptionHandled propriété.You can also indicate whether the exception was handled in the event handler by setting the ExceptionHandled property.

Pour accéder aux valeurs de champs clés pour l’enregistrement mis à jour, utilisez la Keys propriété.To access the key field values for the updated record, use the Keys property. Vous pouvez accéder aux valeurs de champ non-clé d’origine à l’aide de la OldValues propriété.You can access the original non-key field values by using the OldValues property. Vous pouvez accéder aux valeurs de champ non-clé mises à jour à l’aide des NewValues Propriétés.You can access the updated non-key field values by using the NewValues properties.

Par défaut, le GridView contrôle retourne en mode lecture seule après une opération de mise à jour.By default, the GridView control returns to read-only mode after an update operation. Lorsque vous gérez une exception qui s’est produite pendant l’opération de mise à jour, vous pouvez conserver le GridView contrôle en mode édition en affectant à la propriété la valeur KeepInEditMode true .When you handle an exception that occurred during the update operation, you can keep the GridView control in edit mode by setting the KeepInEditMode property to true.

Pour plus d’informations sur la façon de gérer les événements, consultez gestion et déclenchement d’événements.For more information about how to handle events, see Handling and Raising Events.

Pour obtenir la liste des valeurs de propriété initiales d'une instance de la classe GridViewUpdatedEventArgs, consultez le constructeur GridViewUpdatedEventArgs.For a list of initial property values for an instance of the GridViewUpdatedEventArgs class, see the GridViewUpdatedEventArgs constructor.

Constructeurs

GridViewUpdatedEventArgs(Int32, Exception)

Initialise une nouvelle instance de la classe GridViewUpdatedEventArgs.Initializes a new instance of the GridViewUpdatedEventArgs class.

Propriétés

AffectedRows

Obtient le nombre de lignes affectées par l'opération de mise à jour.Gets the number of rows that were affected by the update operation.

Exception

Obtient l'exception (s'il y en a une) qui a été levée pendant l'opération de mise à jour.Gets the exception (if any) that was raised during the update operation.

ExceptionHandled

Obtient ou définit une valeur qui indique si une exception levée lors de l'opération de mise à jour a été gérée dans le gestionnaire d'événements.Gets or sets a value that indicates whether an exception that was raised during the update operation was handled in the event handler.

KeepInEditMode

Obtient ou définit une valeur qui indique si le contrôle GridView doit rester en mode édition après une opération de mise à jour.Gets or sets a value that indicates whether the GridView control should remain in edit mode after an update operation.

Keys

Obtient un dictionnaire qui contient les paires nom-valeur du champ clé pour l'enregistrement mis à jour.Gets a dictionary that contains the key field name/value pairs for the updated record.

NewValues

Obtient un dictionnaire qui contient les nouvelles paires nom-valeur du champ pour l'enregistrement mis à jour.Gets a dictionary that contains the new field name/value pairs for the updated record.

OldValues

Obtient un dictionnaire qui contient les paires nom-valeur de champ d'origine pour l'enregistrement mis à jour.Gets a dictionary that contains the original field name/value pairs for the updated record.

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Hérité de Object)

S’applique à

Voir aussi