DetailsViewUpdatedEventArgs クラス
アセンブリ: System.Web (system.web.dll 内)


DetailsView コントロールは、コントロール内の Update ボタン (CommandName プロパティが "Update" に設定されたボタン) がクリックされた場合に、DetailsView コントロールが実際にレコードを更新した後に ItemUpdated イベントを発生させます。これにより、このイベントが発生するたびにカスタム ルーチン (更新操作の結果を確認するなど) を実行するイベント ハンドラを提供できます。
DetailsViewUpdatedEventArgs オブジェクトがイベント ハンドラに渡され、これにより影響を受けたレコード数および発生した例外を確認できます。更新操作の影響を受けたレコード数を確認するには、AffectedRows プロパティを使用します。例外が発生しているかどうかを確認するには、Exception プロパティを使用します。ExceptionHandled プロパティを設定することにより、イベント ハンドラで既に例外が処理されたかどうかを示すこともできます。更新されたレコードのキー フィールド値にアクセスする必要がある場合は、Keys プロパティを使用します。OldValues プロパティを使用して元のキー フィールド以外の値にアクセスしたり、NewValues プロパティを使用して更新後のキー フィールド以外の値にアクセスしたりできます。
既定では、DetailsView コントロールは、更新操作の後、DefaultMode プロパティで指定されているモードに戻ります。DetailsView コントロールを編集モードのまま維持するには、KeepInEditMode プロパティを true に設定します。
イベント処理の詳細については、「イベントの利用」を参照してください。
DetailsViewUpdatedEventArgs クラスのインスタンスの初期プロパティ値の一覧については、DetailsViewUpdatedEventArgs コンストラクタのトピックを参照してください。

ItemUpdated イベントのイベント ハンドラに渡された DetailsViewUpdatedEventArgs オブジェクトを使用して、更新操作中に例外が発生したかどうかを確認する方法のコード例を次に示します。
<%@ Page language="VB" %> <script runat="server"> Sub CustomerDetailsView_ItemUpdated(ByVal sender As Object, ByVal e As DetailsViewUpdatedEventArgs) ' Use the Exception property to determine whether an exception ' occurred during the insert operation. If e.Exception Is Nothing Then ' Use the Values property to get the value entered by ' the user for the CompanyName field. Dim keyFieldValue As String = e.Keys("CustomerID").ToString() ' Display a confirmation message. MessageLabel.Text = "Record " & keyFieldValue & _ " updated successfully. " ' Display the old and new values. DisplayValues(e) If e.AffectedRows = 1 Then MessageLabel.Text &= e.AffectedRows.ToString() & _ " record updated." Else MessageLabel.Text &= e.AffectedRows.ToString() & _ " records updated." End If Else ' Insert the code to handle the exception. MessageLabel.Text = e.Exception.Message ' Use the ExceptionHandled property to indicate that the ' exception is already handled. e.ExceptionHandled = True ' When an exception occurs, keep the DetailsView ' control in edit mode. e.KeepInEditMode = True End If End Sub Sub DisplayValues(ByVal e As DetailsViewUpdatedEventArgs) MessageLabel.Text &= "<br/></br>" ' Iterate through the OldValue and NewValues ' properties and display the values. Dim i As Integer For i = 0 To e.OldValues.Count - 1 MessageLabel.Text &= "Old Value=" & e.OldValues(i).ToString() & _ ", New Value=" & e.NewValues(i).ToString() & "<br/>" Next MessageLabel.Text &= "</br>" End Sub </script> <html> <body> <form runat="server"> <h3>DetailsViewUpdatedEventArgs Example</h3> <asp:detailsview id="CustomerDetailsView" datasourceid="DetailsViewSource" autogeneraterows="true" autogenerateeditbutton="true" allowpaging="true" datakeynames="CustomerID" onitemupdated="CustomerDetailsView_ItemUpdated" runat="server"> <pagersettings position="Bottom"/> </asp:detailsview> <br/> <asp:label id="MessageLabel" 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="DetailsViewSource" 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"/> </form> </body> </html>
<%@ Page language="C#" %> <script runat="server"> void CustomerDetailsView_ItemUpdated(Object sender, DetailsViewUpdatedEventArgs e) { // Use the Exception property to determine whether an exception // occurred during the insert operation. if (e.Exception == null) { // Use the Values property to get the value entered by // the user for the CompanyName field. String keyFieldValue = e.Keys["CustomerID"].ToString(); // Display a confirmation message. MessageLabel.Text = "Record " + keyFieldValue + " updated successfully. "; // Display the old and new values. DisplayValues(e); if (e.AffectedRows == 1) { MessageLabel.Text += e.AffectedRows.ToString() + " record updated."; } else { MessageLabel.Text += e.AffectedRows.ToString() + " records updated."; } } else { // Insert the code to handle the exception. MessageLabel.Text = e.Exception.Message; // Use the ExceptionHandled property to indicate that the // exception is already handled. e.ExceptionHandled = true; // When an exception occurs, keep the DetailsView // control in edit mode. e.KeepInEditMode = true; } } void DisplayValues(DetailsViewUpdatedEventArgs e) { MessageLabel.Text += "<br/></br>"; // Iterate through the OldValue and NewValues // properties and display the values. for (int i = 0; i < e.OldValues.Count; i++) { MessageLabel.Text += "Old Value=" + e.OldValues[i].ToString() + ", New Value=" + e.NewValues[i].ToString() + "<br/>"; } MessageLabel.Text += "</br>"; } </script> <html> <body> <form runat="server"> <h3>DetailsViewUpdatedEventArgs Example</h3> <asp:detailsview id="CustomerDetailsView" datasourceid="DetailsViewSource" autogeneraterows="true" autogenerateeditbutton="true" allowpaging="true" datakeynames="CustomerID" onitemupdated="CustomerDetailsView_ItemUpdated" runat="server"> <pagersettings position="Bottom"/> </asp:detailsview> <br/> <asp:label id="MessageLabel" 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="DetailsViewSource" 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"/> </form> </body> </html>


System.EventArgs
System.Web.UI.WebControls.DetailsViewUpdatedEventArgs


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DetailsViewUpdatedEventArgs コンストラクタ
アセンブリ: System.Web (system.web.dll 内)

Dim affectedRows As Integer Dim e As Exception Dim instance As New DetailsViewUpdatedEventArgs(affectedRows, e)

このコンストラクタを使用して、DetailsViewUpdatedEventArgs クラスの新しいインスタンスを初期化します。
DetailsViewUpdatedEventArgs クラスのインスタンスの初期プロパティ値を次の表に示します。
AffectedRows | affectedRows パラメータの値。 |
ExceptionHandled | |
KeepInEditMode |
![]() |
---|

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DetailsViewUpdatedEventArgs プロパティ

名前 | 説明 | |
---|---|---|
![]() | AffectedRows | 更新操作の影響を受けた行の数を取得します。 |
![]() | Exception | 更新操作中に例外が発生した場合は、その例外を取得します。 |
![]() | ExceptionHandled | 更新操作中に発生した例外がイベント ハンドラで処理されたかどうかを示す値を取得または設定します。 |
![]() | KeepInEditMode | 更新操作の後で、DetailsView コントロールを編集モードのまま維持するかどうかを示す値を取得または設定します。 |
![]() | Keys | 更新されたレコードのキー フィールドの名前/値ペアを格納しているディクショナリを取得します。 |
![]() | NewValues | 更新されたレコードの新しいフィールドの名前/値ペアを格納しているディクショナリを取得します。 |
![]() | OldValues | 更新されたレコードの元のフィールドの名前/値ペアを格納しているディクショナリを取得します。 |

DetailsViewUpdatedEventArgs メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

DetailsViewUpdatedEventArgs メンバ
DetailsViewUpdatedEventArgs データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | AffectedRows | 更新操作の影響を受けた行の数を取得します。 |
![]() | Exception | 更新操作中に例外が発生した場合は、その例外を取得します。 |
![]() | ExceptionHandled | 更新操作中に発生した例外がイベント ハンドラで処理されたかどうかを示す値を取得または設定します。 |
![]() | KeepInEditMode | 更新操作の後で、DetailsView コントロールを編集モードのまま維持するかどうかを示す値を取得または設定します。 |
![]() | Keys | 更新されたレコードのキー フィールドの名前/値ペアを格納しているディクショナリを取得します。 |
![]() | NewValues | 更新されたレコードの新しいフィールドの名前/値ペアを格納しているディクショナリを取得します。 |
![]() | OldValues | 更新されたレコードの元のフィールドの名前/値ペアを格納しているディクショナリを取得します。 |

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- DetailsViewUpdatedEventArgsのページへのリンク