我一個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