GridViewUpdatedEventArgs Klasa

Definicja

Udostępnia dane dla zdarzenia 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
Dziedziczenie
GridViewUpdatedEventArgs

Przykłady

Poniższy przykład pokazuje, jak ustalić, czy wystąpił wyjątek podczas operacji aktualizacji.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>

Uwagi

GridViewFormant wywołuje RowUpdated zdarzenie, gdy kliknięto przycisk Aktualizuj w kontrolce, ale po GridView zaktualizowaniu rekordu przez formant.The GridView control raises the RowUpdated event when an Update button in the control is clicked, but after the GridView control updates the record. (Przycisk aktualizacji jest formantem przycisku, którego CommandName Właściwość jest ustawiona na "Update"). Możesz wykonać niestandardową procedurę przy każdym wystąpieniu tego zdarzenia, na przykład sprawdzając wyniki operacji aktualizacji.(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.

GridViewUpdatedEventArgsObiekt jest przesyłany do procedury obsługi zdarzeń, co umożliwia określenie liczby rekordów, których dotyczyły te zmiany, oraz wyjątków, które mogły wystąpić.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. Aby określić liczbę rekordów, na które miała wpływ operacja aktualizacji, użyj AffectedRows właściwości.To determine the number of records that were affected by the update operation, use the AffectedRows property. Aby określić, czy wyjątki wystąpiły, użyj Exception właściwości.To determine whether any exceptions occurred, use the Exception property. Możesz również wskazać, czy wyjątek został obsłużony w programie obsługi zdarzeń przez ustawienie ExceptionHandled właściwości.You can also indicate whether the exception was handled in the event handler by setting the ExceptionHandled property.

Aby uzyskać dostęp do wartości pól klucza dla zaktualizowanego rekordu, użyj Keys właściwości.To access the key field values for the updated record, use the Keys property. Możesz uzyskać dostęp do oryginalnych wartości pól, które nie są kluczowe, przy użyciu OldValues właściwości.You can access the original non-key field values by using the OldValues property. Można uzyskać dostęp do zaktualizowanych wartości pól niebędących kluczami przy użyciu NewValues właściwości.You can access the updated non-key field values by using the NewValues properties.

Domyślnie GridView formant wraca do trybu tylko do odczytu po operacji aktualizacji.By default, the GridView control returns to read-only mode after an update operation. W przypadku obsługi wyjątku, który wystąpił podczas operacji aktualizacji, można zachować GridView formant w trybie edycji, ustawiając KeepInEditMode Właściwość na 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.

Aby uzyskać więcej informacji o sposobie obsługi zdarzeń, zobacz Obsługa iwywoływanie zdarzeń.For more information about how to handle events, see Handling and Raising Events.

Aby uzyskać listę początkowych wartości właściwości dla wystąpienia GridViewUpdatedEventArgs klasy, zobacz GridViewUpdatedEventArgs Konstruktor.For a list of initial property values for an instance of the GridViewUpdatedEventArgs class, see the GridViewUpdatedEventArgs constructor.

Konstruktory

GridViewUpdatedEventArgs(Int32, Exception)

Inicjuje nowe wystąpienie klasy GridViewUpdatedEventArgs.Initializes a new instance of the GridViewUpdatedEventArgs class.

Właściwości

AffectedRows

Pobiera liczbę wierszy, na które miała wpływ operacja aktualizacji.Gets the number of rows that were affected by the update operation.

Exception

Pobiera wyjątek (jeśli istnieje), który został wywołany podczas operacji aktualizacji.Gets the exception (if any) that was raised during the update operation.

ExceptionHandled

Pobiera lub ustawia wartość wskazującą, czy wyjątek, który został wywołany podczas operacji aktualizacji, został obsłużony w programie obsługi zdarzeń.Gets or sets a value that indicates whether an exception that was raised during the update operation was handled in the event handler.

KeepInEditMode

Pobiera lub ustawia wartość wskazującą, czy GridView kontrolka ma pozostać w trybie edycji po operacji aktualizacji.Gets or sets a value that indicates whether the GridView control should remain in edit mode after an update operation.

Keys

Pobiera słownik zawierający pary nazwa/wartość pola klucza dla zaktualizowanego rekordu.Gets a dictionary that contains the key field name/value pairs for the updated record.

NewValues

Pobiera słownik zawierający nowe pary nazwa/wartość pola dla zaktualizowanego rekordu.Gets a dictionary that contains the new field name/value pairs for the updated record.

OldValues

Pobiera słownik zawierający oryginalne pary nazwa/wartość pola dla zaktualizowanego rekordu.Gets a dictionary that contains the original field name/value pairs for the updated record.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Dotyczy

Zobacz też