GridViewUpdatedEventArgs Classe

Definizione

Fornisce dati per l'evento 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
Ereditarietà
GridViewUpdatedEventArgs

Esempi

Nell'esempio seguente viene illustrato come determinare se si è verificata un'eccezione durante un'operazione di aggiornamento.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>

Commenti

Il GridView controllo genera l' RowUpdated evento quando viene fatto clic su un pulsante Aggiorna del controllo, ma dopo che GridView il controllo ha aggiornato il record.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 pulsante Aggiorna è un controllo Button la cui CommandName proprietà è impostata su "Update". Ogni volta che si verifica questo evento, è possibile eseguire una routine personalizzata, ad esempio verificare i risultati di un'operazione di aggiornamento.(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 oggetto viene passato al gestore eventi, che consente di determinare il numero di record interessati ed eventuali eccezioni che potrebbero essersi verificate.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. Per determinare il numero di record interessati dall'operazione di aggiornamento, utilizzare la AffectedRows proprietà.To determine the number of records that were affected by the update operation, use the AffectedRows property. Per determinare se si sono verificate eccezioni, Exception utilizzare la proprietà.To determine whether any exceptions occurred, use the Exception property. È inoltre possibile indicare se l'eccezione è stata gestita nel gestore eventi impostando la ExceptionHandled proprietà.You can also indicate whether the exception was handled in the event handler by setting the ExceptionHandled property.

Per accedere ai valori dei campi chiave per il record aggiornato, utilizzare Keys la proprietà.To access the key field values for the updated record, use the Keys property. È possibile accedere ai valori dei campi non chiave originali utilizzando la OldValues proprietà.You can access the original non-key field values by using the OldValues property. È possibile accedere ai valori dei campi non chiave aggiornati usando le NewValues proprietà.You can access the updated non-key field values by using the NewValues properties.

Per impostazione predefinita, GridView il controllo torna alla modalità di sola lettura dopo un'operazione di aggiornamento.By default, the GridView control returns to read-only mode after an update operation. Quando si gestisce un'eccezione che si è verificata durante l'operazione di aggiornamento, GridView è possibile lasciare il controllo in modalità KeepInEditMode di modifica trueimpostando la proprietà su.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.

Per altre informazioni su come gestire gli eventi, vedere la gestione e generazione di eventi.For more information about how to handle events, see Handling and Raising Events.

Per un elenco dei valori iniziali delle proprietà di un'istanza della classe GridViewUpdatedEventArgs, vedere il costruttore GridViewUpdatedEventArgs.For a list of initial property values for an instance of the GridViewUpdatedEventArgs class, see the GridViewUpdatedEventArgs constructor.

Costruttori

GridViewUpdatedEventArgs(Int32, Exception)

Inizializza una nuova istanza della classe GridViewUpdatedEventArgs.Initializes a new instance of the GridViewUpdatedEventArgs class.

Proprietà

AffectedRows

Ottiene il numero di righe interessate dall'operazione di aggiornamento.Gets the number of rows that were affected by the update operation.

Exception

Ottiene l'eventuale eccezione generata durante l'operazione di aggiornamento.Gets the exception (if any) that was raised during the update operation.

ExceptionHandled

Ottiene o imposta un valore che indica se un'eccezione generata durante l'operazione di aggiornamento è stata gestita nel gestore eventi.Gets or sets a value that indicates whether an exception that was raised during the update operation was handled in the event handler.

KeepInEditMode

Ottiene o imposta un valore che indica se il controllo GridView deve rimanere in modalità di modifica dopo un'operazione di aggiornamento.Gets or sets a value that indicates whether the GridView control should remain in edit mode after an update operation.

Keys

Ottiene un dizionario contenente le coppie nome/valore dei campi chiave del record aggiornato.Gets a dictionary that contains the key field name/value pairs for the updated record.

NewValues

Ottiene un dizionario contenente le nuove coppie nome/valore dei campi del record aggiornato.Gets a dictionary that contains the new field name/value pairs for the updated record.

OldValues

Ottiene un dizionario contenente le coppie nome/valore originarie dei campi del record aggiornato.Gets a dictionary that contains the original field name/value pairs for the updated record.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Si applica a

Vedi anche