我一个C#/ WPF:工具包的DataGrid - 转置行和列
List<DetailObject> someList;
,看起来像这样:
public class DetailObject
{
public string Titel { get; set; }
public int Value1 { get; set; }
public int Value2 { get; set; }
public int Value3 { get; set; }
}
有谁知道我该如何使用(与DataGrid.AutoGenerateColumns = “True”)作为RowHeader和其他成员的“字符串标题”的值作为“行”内容?没有任何修改,它会告诉我“Titel”作为ColumnHeader和Titel作为行的值,dito为 “Value1”为ColumnHeader,Value1的值为行等。
感谢您的任何帮助!
干杯
编辑: 为了更好的理解,这是我
[Titel] [Value1] [Value2] [Value3]
[Item1.Titel] [Item1.Value1] [Item1.Value2] [Item1.Value3]
[Item2.Titel] [Item2.Value1] [Item2.Value2] [Item2.Value3]
[Item3.Titel] [Item3.Value1] [Item3.Value2] [Item3.Value3]
,这就是我在寻找:
[Item1.Titel] [Item2.Titel] [Item3.Titel]
[Item1.Value1] [Item2.Value1] [Item3.Value1]
[Item1.Value2] [Item2.Value2] [Item3.Value2]
[Item1.Value3] [Item2.Value3] [Item3.Value3]
EDIT2: 我发现这里也是一个不错的方法: http://codemaverick.blogspot.com/2008/02/transpose-datagrid-or-gridview-by.html
感谢您的回复。我尝试了这一点,但它只会显示Item.Titel作为行。我想要的是将每个Item.Titel(来自List someList)作为一个列以及它在Row/Cell中的所有信息(例如Item.Value1)。我将创建一个我在问题中意思的“模型”:) – 2009-09-24 13:54:07
关于编辑:Chaning DataSource是一个选项,我将不得不考虑如何创建一个可处理动态“Columns “,因为原始列表是可变的。感谢您的帮助和意见。如果我找到解决方案,我会在这里发布。我会把问题留到明天,也许别人有一个想法 - 如果没有,我会标记你的答案是正确的。 – 2009-09-24 16:35:29
您可以创建一个具有很多属性的类,然后以编程方式修改“DataGrid”以仅显示与原始对象一样多的列。在.NET 4中,您还可以选择在运行时创建动态类。 – 2009-09-24 16:44:19