DataGridRow
(アイテム配列)にいくつかの値があり、これらのすべての値を文字列配列にフェッチしたい。どうすればこれを達成できますか?
DataGridRow row = (DataGridRow)Lst.ItemContainerGenerator.ContainerFromIndex(k);
DataRowView Drv = (DataRowView)row.Item;
DataRow dr = (DataRow)Drv.Row;
1つの可能性は、dr.ItemArray;
を呼び出すことです。これにより、object[]
が得られます。次に、各オブジェクトを使用する前にstring
にキャストする必要があります。
var rowAsString = string.Join(", ", dataTable.Rows[0].ItemArray);
上記のようなラムダ式は必要ありません。
var rowAsString = string.Join(", ", dr.ItemArray.Select(c => c.ToString()).ToArray());
これにより、データ行の各項目がカンマで区切られた文字列が得られます。
LINQは砂糖を追加します。
var stringArray = dr.ItemArray.Cast<string>().ToArray()
これは私のために働きました:
string[] months = string.Join(",", dataTable.Rows[0].ItemArray).Split(',').ToArray();