GridViewUpdatedEventArgs Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit des données pour l'événement RowUpdated.
public ref class GridViewUpdatedEventArgs : EventArgs
public class GridViewUpdatedEventArgs : EventArgs
type GridViewUpdatedEventArgs = class
inherit EventArgs
Public Class GridViewUpdatedEventArgs
Inherits EventArgs
- Héritage
Exemples
L’exemple suivant montre comment déterminer si une exception s’est produite pendant une opération de mise à jour.
<%@ 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’événement RowUpdated lorsqu’un bouton Mettre à jour dans le contrôle est cliqué, mais après la mise à jour de l’enregistrement par le GridView contrôle. (Un bouton Mettre à jour est un contrôle bouton dont CommandName la propriété est définie sur « Update ». Vous pouvez effectuer une routine personnalisée chaque fois que cet événement se produit, par exemple vérifier les résultats d’une opération de mise à jour.
Un GridViewUpdatedEventArgs objet est transmis au gestionnaire d’événements, ce qui vous permet de déterminer le nombre d’enregistrements affectés et les exceptions qui peuvent se produire. Pour déterminer le nombre d’enregistrements affectés par l’opération de mise à jour, utilisez la AffectedRows propriété. Pour déterminer si des exceptions se sont produites, utilisez la Exception propriété. 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é.
Pour accéder aux valeurs de champ clé de l’enregistrement mis à jour, utilisez la Keys propriété. Vous pouvez accéder aux valeurs de champ non clé d’origine à l’aide de la OldValues propriété. Vous pouvez accéder aux valeurs de champ non clé mises à jour à l’aide des NewValues propriétés.
Par défaut, le GridView contrôle retourne en mode lecture seule après une opération de mise à jour. 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 définissant la KeepInEditMode propriété truesur .
Pour plus d’informations sur la gestion des événements, consultez Gestion et déclenchement d’événements.
Pour obtenir la liste des valeurs de propriété initiales d’une instance de la GridViewUpdatedEventArgs classe, consultez le GridViewUpdatedEventArgs constructeur.
Constructeurs
| Nom | Description |
|---|---|
| GridViewUpdatedEventArgs(Int32, Exception) |
Initialise une nouvelle instance de la classe GridViewUpdatedEventArgs. |
Propriétés
| Nom | Description |
|---|---|
| AffectedRows |
Obtient le nombre de lignes affectées par l’opération de mise à jour. |
| Exception |
Obtient l’exception (le cas échéant) qui a été déclenchée pendant l’opération de mise à jour. |
| ExceptionHandled |
Obtient ou définit une valeur qui indique si une exception qui a été levée pendant l’opération de mise à jour a été gérée dans le gestionnaire d’événements. |
| KeepInEditMode |
Obtient ou définit une valeur qui indique si le GridView contrôle doit rester en mode édition après une opération de mise à jour. |
| Keys |
Obtient un dictionnaire qui contient les paires nom/valeur du champ clé pour l’enregistrement mis à jour. |
| NewValues |
Obtient un dictionnaire qui contient les nouvelles paires nom/valeur de champ pour l’enregistrement mis à jour. |
| OldValues |
Obtient un dictionnaire qui contient les paires nom/valeur de champ d’origine pour l’enregistrement mis à jour. |
Méthodes
| Nom | Description |
|---|---|
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |