字典實體類:DictionaryEntry類


DictionaryEntry類是一個字典集合,主要包括的內容是鍵/值對。這樣的組合方式能夠方便地定位數據,當中的“鍵”具備唯一性,類似於數據庫中的“id”,一個id相應一天記錄,而一個鍵僅僅相應一個值。

使用DictionaryEnry類能夠方便地設置和檢索數據。盡管被稱為字典集合,但DictionaryEntry並不包括一組數據,而僅僅是一個“鍵/值”對,一般通過“IDictionaryEnumerator”、“IOrderedDictionary”或Hashtable來獲取DictionaryEntry實例,這一點須要注意。

語法定義:

DictionaryEntry類的語法定義例如以下所看到的,注意其屬於“struct”結構類型。

[SerializableAttribute]

[ComVisibleAttribute(true)]

public struct DictionaryEntry

 

DicctionaryEntry類的構造語法例如以下所看到的,當中key表示鍵,value表示值。

public DictionaryEntry (object key,object value)

使用DictionaryEntry類一般不用newkeyword實例化,而是使用“foreach”遍歷的方法,從某一集合獲取DictionaryEntry的實例,用法例如以下:

foreach(DictionaryEntry dic in e.Keys)

 

DictionaryEntry的屬性

Key :字典的鍵,必須唯一

Value:字典的值。可通過檢索“鍵”獲取或設置

以下演示怎樣在程序中使用DictionaryEntry類的這兩個屬性:

Response.Write("這是當前數據表格的鍵列表:<br/>");
int i =0;
foreach(DictionaryEntry dic in e.Keys)
{
    //遍歷並顯示數據表格全部的鍵
  i++;
   Response.Write("第"+ i.ToString() + "個鍵為:" +dic.Key.ToString() +",值為:" + dic.Value.ToString());
}


 用DictionaryEntry獲取GridView中的數據更新

DictionaryEntry類通常不須要為自己設置數據,而是用來獲取某一個集合中的數據。本例使用DictionaryEntry類實例化“IOderedDictionary”中的數據,當中“IOrderedDictionary”包括的是GridView的鍵和值。

在使用GridView更新數據時,須要注意例如以下三點。

1、被更新的記錄的主鍵:主鍵用來確定更新的數據的唯一性。

2、更新記錄的新數據:用在更新數據庫語句中。

3、更新記錄的舊數據:用來推斷更新的一些條件,比方說數據等於1時不被更新。

通過上述三點,能夠知道GridView更新數據的一些原理。在GridView更新事件中,提供三個參數來表示上面的三種數據,分別為“Keys”、“NewValues”、“OldValues”。這些數據都以“IOrderedDictionary”的形式存儲。

本例要實現的功能是當前用戶更新數據后,顯示當前用戶更新的數據,同一時候顯示數據表格的主鍵,主要完畢的是一個提示功能。

在GridView的“Row_Updated”事件中,獲取數據更新的鍵值,代碼例如以下:

protected void GridView1_RowUpdated(object sender,GridViewUpdatedEventArgs e)
{
   foreach(DictionaryEntry mydictionary in e.OldValues)
   {
      //顯示改動前的數據
    Response.Write("改動前的數據——" + mydictionary.Key.ToString() + ":" + mydictionary.Value.ToString());
    }

   foreach(DictionaryEntry mydictionary in e.NewValues)
   {
      //顯示改動后的數據
    Response.Write("改動后的數據——" + mydictionary.Key.ToString() + ":" + mydictionary.Value.ToString());
    }

   foreach(DictionaryEntry mydictionary in e.Keys)
   {
      //顯示當前表格的主鍵——可能有多個,假設沒有則無法更新
    Response.Write("<br/>當前主鍵——" + mydictionary.Key.ToString() + ":" + mydictionary.Value.ToString());
    }

    
}


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM