Je suis unC#/WPF: DataGrid Toolkit - Transposer lignes et colonnes
List<DetailObject> someList;
qui ressemble à ceci:
public class DetailObject
{
public string Titel { get; set; }
public int Value1 { get; set; }
public int Value2 { get; set; }
public int Value3 { get; set; }
}
Est-ce que quelqu'un sait comment je peux utiliser (avec DataGrid.AutoGenerateColumns = "True") la valeur de "chaîne Titel" en tant que RowHeader et d'autres membres en tant que "Row" contenu? Sans aucune modification, il me montrera "Titel" comme ColumnHeader et la valeur de Titel comme ligne, dito pour "Value1" comme ColumnHeader et la valeur de Value1 comme Rows etc.
Merci pour toute aide !
Vive
EDIT: Pour une meilleure compréhension, c'est ce que j'ai
[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]
et voici ce que je cherche:
[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: J'ai trouvé aussi une bonne approche ici: http://codemaverick.blogspot.com/2008/02/transpose-datagrid-or-gridview-by.html
Merci pour la réponse. J'ai essayé ceci, mais cela montrera seulement le Item.Titel en tant que Row. Ce que je veux, c'est avoir chaque Item.Titel (de la List someList) sous la forme d'une Colonne et toutes ses infos (par exemple Item.Value1) ci-dessous dans une Ligne/Cellule. Je vais créer une "maquette" de ce que je veux dire dans la question :) –
En ce qui concerne l'édition: Chaning the DataSource est une option, je vais devoir réfléchir à la façon de créer une classe qui peut gérer un ensemble dynamique de "Colonnes ", puisque la liste originale est variable. Merci pour votre aide et votre contribution. Si je trouve une solution, je l'afficherai ici. Je vais laisser la question ouverte jusqu'à demain, peut-être que quelqu'un d'autre a une idée - sinon, je marquerai votre réponse comme correcte. –
Vous pouvez créer une classe avec beaucoup de propriétés, puis modifier par programme 'DataGrid' pour afficher uniquement autant de colonnes que d'objets d'origine. Dans .NET 4, vous avez également la possibilité de créer une classe dynamique lors de l'exécution. –