在ASP.NET中,将DataGrid绑定到对象列表非常容易。
我最终为列表中的每个对象添加一行,并且给定行中的任何单元格都绑定到相应对象的属性。
但是,假设我的对象的一个属性是字典,并且每个属性都应包含一个特定的键。有没有办法将我的DataGridColumns之一绑定到该字典键?
感谢。
答案 0 :(得分:1)
如果为DataGrid.ItemDataBound添加处理程序,则可以从Dictionary中显式设置列值。最简单的例子:
protected void OnItemDataBound(object sender, DataGridItemEventArgs e)
{
myclass mine = (myclass) e.Item.DataItem;
int cellindex = 5;
e.Item.Cells[cellindex].Text = mine.mydict["thekey"];
}
答案 1 :(得分:0)
我不熟悉DataGrid绑定的工作,但一般的绑定可以在任何公共属性上完成。尝试绑定Key
Value
和Dictionary
答案 2 :(得分:0)
另一个选项是向类中添加一个属性,该属性返回该特定键的值。
public string TheKey
{
get { return MyDictionary["thekey"]; }
}
(出于这个原因,那里的纯粹主义者可能不喜欢为你的对象添加一个属性,但这只是一个简单的解决方案。)