DetailsViewUpdatedEventArgsとは? わかりやすく解説

DetailsViewUpdatedEventArgs クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

ItemUpdated イベントのデータを提供します。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Class DetailsViewUpdatedEventArgs
    Inherits EventArgs
Dim instance As DetailsViewUpdatedEventArgs
public class DetailsViewUpdatedEventArgs :
 EventArgs
public ref class DetailsViewUpdatedEventArgs
 : public EventArgs
public class DetailsViewUpdatedEventArgs extends
 EventArgs
public class DetailsViewUpdatedEventArgs extends
 EventArgs
解説解説

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>

.NET Framework のセキュリティ.NET Framework のセキュリティ
継承階層継承階層
System.Object
   System.EventArgs
    System.Web.UI.WebControls.DetailsViewUpdatedEventArgs
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DetailsViewUpdatedEventArgs メンバ
System.Web.UI.WebControls 名前空間
DetailsView クラス
DetailsViewUpdatedEventHandler
DetailsView.ItemUpdated イベント
AffectedRows
Exception
ExceptionHandled
KeepInEditMode
その他の技術情報
イベントの利用

DetailsViewUpdatedEventArgs コンストラクタ

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

DetailsViewUpdatedEventArgs クラスの新しいインスタンスを初期化します。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Sub New ( _
    affectedRows As Integer, _
    e As Exception _
)
Dim affectedRows As Integer
Dim e As Exception

Dim instance As New DetailsViewUpdatedEventArgs(affectedRows,
 e)
public DetailsViewUpdatedEventArgs (
    int affectedRows,
    Exception e
)
public:
DetailsViewUpdatedEventArgs (
    int affectedRows, 
    Exception^ e
)
public DetailsViewUpdatedEventArgs (
    int affectedRows, 
    Exception e
)
public function DetailsViewUpdatedEventArgs
 (
    affectedRows : int, 
    e : Exception
)

パラメータ

affectedRows

更新操作の影響を受けた行の数。

e

更新操作の実行時に発生した例外を表す Exception。例外が発生しない場合は、このパラメータに null 参照 (Visual Basic では Nothing) を使用します。

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DetailsViewUpdatedEventArgs クラス
DetailsViewUpdatedEventArgs メンバ
System.Web.UI.WebControls 名前空間
DetailsView クラス
DetailsViewUpdatedEventHandler
DetailsView.ItemUpdated イベント
AffectedRows
Exception
ExceptionHandled
KeepInEditMode

DetailsViewUpdatedEventArgs プロパティ


パブリック プロパティパブリック プロパティ

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

関連項目

DetailsViewUpdatedEventArgs クラス
System.Web.UI.WebControls 名前空間
DetailsView クラス
DetailsViewUpdatedEventHandler
DetailsView.ItemUpdated イベント
AffectedRows
Exception
ExceptionHandled
KeepInEditMode

その他の技術情報

イベントの利用

DetailsViewUpdatedEventArgs メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
参照参照

関連項目

DetailsViewUpdatedEventArgs クラス
System.Web.UI.WebControls 名前空間
DetailsView クラス
DetailsViewUpdatedEventHandler
DetailsView.ItemUpdated イベント
AffectedRows
Exception
ExceptionHandled
KeepInEditMode

その他の技術情報

イベントの利用

DetailsViewUpdatedEventArgs メンバ

ItemUpdated イベントのデータを提供します。

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


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

関連項目

DetailsViewUpdatedEventArgs クラス
System.Web.UI.WebControls 名前空間
DetailsView クラス
DetailsViewUpdatedEventHandler
DetailsView.ItemUpdated イベント
AffectedRows
Exception
ExceptionHandled
KeepInEditMode

その他の技術情報

イベントの利用



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「DetailsViewUpdatedEventArgs」の関連用語

DetailsViewUpdatedEventArgsのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DetailsViewUpdatedEventArgsのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS