GridViewUpdatedEventArgs Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt Daten für das RowUpdated-Ereignis bereit.
public ref class GridViewUpdatedEventArgs : EventArgs
public class GridViewUpdatedEventArgs : EventArgs
type GridViewUpdatedEventArgs = class
inherit EventArgs
Public Class GridViewUpdatedEventArgs
Inherits EventArgs
- Vererbung
Beispiele
Im folgenden Beispiel wird erläutert, ob während eines Updatevorgangs eine Ausnahme aufgetreten ist.
<%@ 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>
Hinweise
Das GridView Steuerelement löst das RowUpdated Ereignis aus, wenn eine Schaltfläche "Aktualisieren" im Steuerelement geklickt wird, aber nachdem das GridView Steuerelement den Datensatz aktualisiert hat. (Eine Schaltfläche "Aktualisieren" ist ein Schaltflächensteuerelement, dessen CommandName Eigenschaft auf "Aktualisieren" festgelegt ist.) Sie können eine benutzerdefinierte Routine ausführen, wenn dieses Ereignis auftritt, z. B. das Überprüfen der Ergebnisse eines Updatevorgangs.
Ein GridViewUpdatedEventArgs Objekt wird an den Ereignishandler übergeben, mit dem Sie die Anzahl der Datensätze ermitteln können, die betroffen waren und alle Ausnahmen, die möglicherweise aufgetreten sind. Verwenden Sie AffectedRows die Eigenschaft, um die Anzahl der Datensätze zu ermitteln, die vom Updatevorgang betroffen waren. Verwenden Sie Exception die Eigenschaft, um zu ermitteln, ob Ausnahmen aufgetreten sind. Sie können auch angeben, ob die Ausnahme im Ereignishandler behandelt wurde, indem Sie die ExceptionHandled Eigenschaft festlegen.
Um auf die Schlüsselfeldwerte für den aktualisierten Datensatz zuzugreifen, verwenden Sie die Keys Eigenschaft. Sie können mithilfe der OldValues Eigenschaft auf die ursprünglichen Nichtschlüsselfeldwerte zugreifen. Sie können mithilfe der NewValues Eigenschaften auf die aktualisierten Nichtschlüsselfeldwerte zugreifen.
Standardmäßig wird das GridView Steuerelement nach einem Updatevorgang in den schreibgeschützten Modus zurückgegeben. Wenn Sie eine Ausnahme behandeln, die während des Updatevorgangs aufgetreten ist, können Sie das Steuerelement im Bearbeitungsmodus beibehalten, indem Sie die GridView KeepInEditMode Eigenschaft auf truefestlegen.
Weitere Informationen zum Behandeln von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.
Eine Liste der anfänglichen Eigenschaftenwerte für eine Instanz der GridViewUpdatedEventArgs-Klasse finden Sie im GridViewUpdatedEventArgs-Konstruktor.
Konstruktoren
| GridViewUpdatedEventArgs(Int32, Exception) |
Initialisiert eine neue Instanz der GridViewUpdatedEventArgs-Klasse. |
Eigenschaften
| AffectedRows |
Ruft die Anzahl der vom Aktualisierungsvorgang betroffenen Zeilen ab. |
| Exception |
Ruft die Ausnahme (sofern vorhanden) ab, die während des Aktualisierungsvorgangs ausgelöst wurde. |
| ExceptionHandled |
Ruft einen Wert ab, der angibt, ob während der Behandlung des Aktualisierungsvorgangs im Ereignishandler eine Ausnahme ausgelöst wurde, oder legt diesen Wert fest. |
| KeepInEditMode |
Ruft einen Wert ab, der angibt, ob das GridView-Steuerelement nach einem Aktualisierungsvorgang im Bearbeitungsmodus belassen werden soll, oder legt diesen fest. |
| Keys |
Ruft ein Wörterbuch ab, das die neuen Name-Wert-Paare der Schlüsselfelder für den aktualisierten Datensatz enthält. |
| NewValues |
Ruft ein Wörterbuch ab, das die neuen Name-Wert-Paare der Felder für den aktualisierten Datensatz enthält. |
| OldValues |
Ruft ein Wörterbuch ab, das die ursprünglichen Name-Wert-Paare der Felder für den aktualisierten Datensatz enthält. |
Methoden
| Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
| GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |