2010-05-06 40 views
1

在ASP.NET中,將DataGrid綁定到對象列表非常簡單。將DataGrid綁定到ASP.NET中的字典

我最終爲列表中的每個對象創建一行,並且給定行中的任何單元格都綁定到相應對象的屬性。

但是,假設我的對象的屬性之一是字典,並且每個屬性都包含一個特定的鍵。有沒有辦法將我的DataGridColumns中的一個綁定到該字典鍵?

謝謝。

回答

0

我不熟悉DataGrid綁定的工作,但通常綁定可以在任何公共屬性上完成。嘗試綁定到KeyValueDictionary

1

如果爲DataGrid.ItemDataBound添加處理程序,則可以顯式設置字典中的列值。最簡單的例子:

protected void OnItemDataBound(object sender, DataGridItemEventArgs e) 
{ 
    myclass mine = (myclass) e.Item.DataItem; 

    int cellindex = 5; 
    e.Item.Cells[cellindex].Text = mine.mydict["thekey"]; 
} 
0

另一個選擇是向您的類中添加一個屬性,該屬性返回該特定鍵的值。

public string TheKey 
{   
    get { return MyDictionary["thekey"]; } 
} 

(在那裏純粹主義者可能不喜歡將屬性添加到您的對象這個原因的想法,但它使一個簡單的解決方案。)

+0

也就是說愉快簡單,但如果我不不知道「密鑰」直到運行時? – mcoolbeth 2010-05-18 14:53:35