J'ai quelques valeurs dans un DataGridRow
(item Array) et je veux extraire toutes ces valeurs dans un tableau de chaînes. Comment puis-je atteindre cet objectif?
DataGridRow row = (DataGridRow)Lst.ItemContainerGenerator.ContainerFromIndex(k);
DataRowView Drv = (DataRowView)row.Item;
DataRow dr = (DataRow)Drv.Row;
Une possibilité consiste à appeler dr.ItemArray;
Cela vous donnera un object[]
. Ensuite, vous devez convertir chaque objet en string
avant de l'utiliser.
var rowAsString = string.Join(", ", dataTable.Rows[0].ItemArray);
Pas besoin d'une expression lambda comme ci-dessus.
var rowAsString = string.Join(", ", dr.ItemArray.Select(c => c.ToString()).ToArray());
Cela devrait vous donner une chaîne avec chaque élément de votre ligne de données séparés par une virgule.
LINQ ajoute du sucre:
var stringArray = dr.ItemArray.Cast<string>().ToArray()
Celui-ci a fonctionné pour moi:
string[] months = string.Join(",", dataTable.Rows[0].ItemArray).Split(',').ToArray();