DetailsViewUpdateEventArgs.OldValues プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > DetailsViewUpdateEventArgs.OldValues プロパティの意味・解説 

DetailsViewUpdateEventArgs.OldValues プロパティ

メモ : このプロパティは、.NET Framework version 2.0新しく追加されたものです。

更新するレコードの元のフィールドの名前/値ペア格納しているディクショナリを取得します

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

Public ReadOnly Property
 OldValues As IOrderedDictionary
Dim instance As DetailsViewUpdateEventArgs
Dim value As IOrderedDictionary

value = instance.OldValues
public IOrderedDictionary OldValues { get;
 }
public:
property IOrderedDictionary^ OldValues {
    IOrderedDictionary^ get ();
}
/** @property */
public IOrderedDictionary get_OldValues ()
public function get OldValues
 () : IOrderedDictionary

プロパティ
更新するレコードの元のフィールドの名前/値ペアのディクショナリを格納している IOrderedDictionary。

解説解説
使用例使用例

OldValues プロパティ使用して更新されているレコードキー以外のフィールドの元の値にアクセスする方法コード例次に示します

<%@ Page language="VB" %>

<script runat="server">
  
  Sub CustomerDetailsView_ItemUpdating(ByVal
 sender As Object, _
    ByVal e As DetailsViewUpdateEventArgs)

    ' Validate the field values entered by the user. This
    ' example determines whether the user left any fields
    ' empty. Use the NewValues property to access the new 
    ' values entered by the user.
    Dim emptyFieldList As ArrayList = _
      ValidateFields(CType(e.NewValues, IOrderedDictionary))

    If emptyFieldList.Count > 0 Then

      ' The user left some fields empty. Display an error message.
      
      ' Use the Keys property to retrieve the key field value.
      Dim keyValue As String
 = e.Keys("CustomerID").ToString()

      MessageLabel.Text = _
        "You must enter a value for all fields of record "
 & _
        keyValue & ".<br/>The following fields are missing:<br/><br/>"

      ' Display the missing fields.
      Dim value As String
      For Each value In
 emptyFieldList
      
        ' Use the OldValues property access the original value
        ' of a field.
        MessageLabel.Text &= value & " - Original Value
 = " & _
          e.OldValues(value).ToString() & "<br>"
        
      Next

      ' Cancel the update operation.
      e.Cancel = True

    Else
    
      ' The field values passed validation. Clear the
      ' error message label.
      MessageLabel.Text = ""
      
    End If

  End Sub

    Function ValidateFields(ByVal list As
 IOrderedDictionary) _
      As ArrayList
    
        ' Create an ArrayList object to store the
        ' names of any empty fields.
        Dim emptyFieldList As New
 ArrayList()

        ' Iterate though the field values entered by
        ' the user and check for an empty field. Empty
        ' fields contain a null value.
        Dim entry As DictionaryEntry
    
        For Each entry In
 list
    
            If entry.Value Is Nothing
 Then
      
                ' Add the field name to the ArrayList object.
                emptyFieldList.Add(entry.Key.ToString())
        
            End If
        Next

        Return emptyFieldList
  
    End Function

  Sub CustomerDetailsView_ModeChanging(ByVal
 sender As Object, ByVal
 e As DetailsViewModeEventArgs)
  
    If e.CancelingEdit Then
      
      ' The user canceled the update operation.
      ' Clear the error message label.
      MessageLabel.Text = ""
    
    End If
    
  End Sub

</script>

<html>

  <body>
    <form runat="server">
        
      <h3>DetailsViewUpdateEventArgs Example</h3>
                       
        <asp:detailsview id="CustomerDetailsView"
          datasourceid="DetailsViewSource"
          autogeneraterows="true"
          autogenerateeditbutton="true"  
          allowpaging="true"
          datakeynames="CustomerID" 
          onitemupdating="CustomerDetailsView_ItemUpdating"
          onmodechanging="CustomerDetailsView_ModeChanging"
 
          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_ItemUpdating(Object sender, 
      DetailsViewUpdateEventArgs e)
    {

        // Validate the field values entered by the user. This
        // example determines whether the user left any fields
        // empty. Use the NewValues property to access the new 
        // values entered by the user.
        ArrayList emptyFieldList = 
          ValidateFields((IOrderedDictionary)e.NewValues);

        if (emptyFieldList.Count > 0)
        {

            // The user left some fields empty. 
            // Display an error message.

            // Use the Keys property to retrieve the key field value.
            String keyValue = e.Keys["CustomerID"].ToString();

            MessageLabel.Text = 
              "You must enter a value for all fields of record
 " +
              keyValue + ".<br/>The following fields are missing:<br/><br/>";

            // Display the missing fields.
            foreach (String value in emptyFieldList)
            {
                // Use the OldValues property access the original
                // value of a field.
                MessageLabel.Text += value + " - Original Value = " +
                  e.OldValues[value].ToString() + "<br>";
            }

            // Cancel the update operation.
            e.Cancel = true;

        }
        else
        {
            // The field values passed validation. Clear the
            // error message label.
            MessageLabel.Text = "";
        }

    }

    ArrayList ValidateFields(IOrderedDictionary list)
    {

        // Create an ArrayList object to store the
        // names of any empty fields.
        ArrayList emptyFieldList = new ArrayList();

        // Iterate though the field values entered by
        // the user and check for an empty field. Empty
        // fields contain a null value.
        foreach (DictionaryEntry entry in list)
        {
            if (entry.Value == null)
            {
                // Add the field name to the ArrayList object.
                emptyFieldList.Add(entry.Key.ToString());
            }
        }

        return emptyFieldList;
    }

    void CustomerDetailsView_ModeChanging(Object sender, 
      DetailsViewModeEventArgs e)
    {
        if (e.CancelingEdit)
        {
            // The user canceled the update operation.
            // Clear the error message label.
            MessageLabel.Text = "";
        }
    }

</script>

<html>

  <body>
    <form runat="server">
        
      <h3>DetailsViewUpdateEventArgs Example</h3>
                       
        <asp:detailsview id="CustomerDetailsView"
          datasourceid="DetailsViewSource"
          autogeneraterows="true"
          autogenerateeditbutton="true"  
          allowpaging="true"
          datakeynames="CustomerID" 
          onitemupdating="CustomerDetailsView_ItemUpdating"
          onmodechanging="CustomerDetailsView_ModeChanging" 
          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>

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DetailsViewUpdateEventArgs クラス
DetailsViewUpdateEventArgs メンバ
System.Web.UI.WebControls 名前空間
DetailsView クラス
DetailsViewUpdateEventHandler
IOrderedDictionary
DictionaryEntry
DetailsViewUpdateEventArgs.Keys プロパティ
DetailsViewUpdateEventArgs.OldValues プロパティ
DetailsView.ItemUpdating イベント


このページでは「.NET Framework クラス ライブラリ リファレンス」からDetailsViewUpdateEventArgs.OldValues プロパティを検索した結果を表示しています。
Weblioに収録されているすべての辞書からDetailsViewUpdateEventArgs.OldValues プロパティを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からDetailsViewUpdateEventArgs.OldValues プロパティ を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

DetailsViewUpdateEventArgs.OldValues プロパティのお隣キーワード
検索ランキング

   

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



DetailsViewUpdateEventArgs.OldValues プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS