将DataGrid数据绑定到List <object []> </object []>

时间:2011-03-05 05:46:28

标签: c# wpf silverlight data-binding datagrid

我有List<object[]> MyCollection,这是SELECT SQL查询的结果 每个object[]代表查询结果中的一行,对于不同的查询,数组的长度会有所不同 我在单独的List<string> MyHeaders中有列标题的名称。

我想将MyCollection数据绑定到DataGrid,其中包含MyHeaders列的标题,并自动生成列。

我想使用AutoGenerateColumns的原因是因为我希望Datagrid重新协调每个对象的数据类型,并为每个数据类型使用适当的列模板。

谢谢!

2 个答案:

答案 0 :(得分:1)

如果您遇到困难并且需要继续:使用数据集/数据表。古代,但他们仍然工作正常!如果你想知道它是否可以完成,我不知道。绑定到IList的大多数示例我已经看到手动循环和创建列。

关心GJ

答案 1 :(得分:0)

不要使用标题列表,使用字典并使用属性名称作为键,并将描述作为值。做一个正常的blah.DataSource = List和DataBind()。在您的itemdatabound事件中,通过使用以下内容搜索字典来替换您的描述标题:

foreach col in grid.Columns { col.Name = dic[col.Name].Value; }