GridViewUpdatedEventArgs Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Biedt gegevens voor de RowUpdated gebeurtenis.
public ref class GridViewUpdatedEventArgs : EventArgs
public class GridViewUpdatedEventArgs : EventArgs
type GridViewUpdatedEventArgs = class
inherit EventArgs
Public Class GridViewUpdatedEventArgs
Inherits EventArgs
- Overname
Voorbeelden
In het volgende voorbeeld ziet u hoe u kunt bepalen of er een uitzondering is opgetreden tijdens een updatebewerking.
<%@ 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>
Opmerkingen
Het GridView besturingselement verhoogt de RowUpdated gebeurtenis wanneer op een knop Bijwerken in het besturingselement wordt geklikt, maar nadat het besturingselement de GridView record heeft bijgewerkt. (Een knop Bijwerken is een knopbesturingselement waarvan CommandName de eigenschap is ingesteld op 'Bijwerken'.) U kunt een aangepaste routine uitvoeren wanneer deze gebeurtenis plaatsvindt, zoals het controleren van de resultaten van een updatebewerking.
Een GridViewUpdatedEventArgs object wordt doorgegeven aan de gebeurtenis-handler, waarmee u het aantal records kunt bepalen dat is beïnvloed en eventuele uitzonderingen. Gebruik de AffectedRows eigenschap om het aantal records te bepalen dat is beïnvloed door de updatebewerking. Gebruik de Exception eigenschap om te bepalen of er uitzonderingen zijn opgetreden. U kunt ook aangeven of de uitzondering is verwerkt in de gebeurtenis-handler door de eigenschap in te ExceptionHandled stellen.
Gebruik de Keys eigenschap om toegang te krijgen tot de sleutelveldwaarden voor de bijgewerkte record. U hebt toegang tot de oorspronkelijke niet-sleutelveldwaarden met behulp van de OldValues eigenschap. U kunt de bijgewerkte niet-sleutelveldwaarden openen met behulp van de NewValues eigenschappen.
Standaard keert het besturingselement terug naar de GridView modus Alleen-lezen na een updatebewerking. Wanneer u een uitzondering verwerkt die is opgetreden tijdens de updatebewerking, kunt u het besturingselement in de GridView bewerkingsmodus houden door de KeepInEditMode eigenschap in te stellen op true.
Zie Gebeurtenissen verwerken en genereren voor meer informatie over het afhandelen van gebeurtenissen.
Zie de GridViewUpdatedEventArgs constructor voor een lijst met initiële eigenschapswaarden voor een exemplaar van de GridViewUpdatedEventArgs klasse.
Constructors
| Name | Description |
|---|---|
| GridViewUpdatedEventArgs(Int32, Exception) |
Initialiseert een nieuw exemplaar van de GridViewUpdatedEventArgs klasse. |
Eigenschappen
| Name | Description |
|---|---|
| AffectedRows |
Hiermee haalt u het aantal rijen op dat is beïnvloed door de updatebewerking. |
| Exception |
Hiermee wordt de uitzondering (indien aanwezig) opgehaald die is gegenereerd tijdens de updatebewerking. |
| ExceptionHandled |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of er een uitzondering is gegenereerd tijdens de updatebewerking in de gebeurtenis-handler. |
| KeepInEditMode |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het besturingselement na een updatebewerking in de GridView bewerkingsmodus moet blijven. |
| Keys |
Hiermee haalt u een woordenlijst op die de sleutelveldnaam/waardeparen voor de bijgewerkte record bevat. |
| NewValues |
Hiermee haalt u een woordenlijst op die de nieuwe veldnaam/waardeparen voor de bijgewerkte record bevat. |
| OldValues |
Hiermee haalt u een woordenlijst op die de oorspronkelijke veldnaam/waardeparen voor de bijgewerkte record bevat. |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |