前提・実現したいこと
現在、あるテキストデータを読み取って、WPF上にデータテーブルとして表示しようとしております。
現在の構成
datagridはxamlファイル側で、名前をdgexとして定義しています。
クラスの宣言とリストの宣言
public class ex { public string A { get; set; } public string B { get; set; } public List<String> C { get; set; } } List<ex> exl = new List<ex>();
xmlを読み取り、上記で宣言したex1に受け渡し→datagrid:dgexのItemsSourceに受け渡し
for(i=0;i<N;i++) { a1=xml.a; b1=xml.b; for(j=0;j<countN;j++) { cc.Add(xml.c[j]); } exl.Add(new ex {A=a1, B= b1, C=cc}); } dgex.ItemsSource = exl;
問題点
上記のように宣言すると、A,Bは正しく値が表示されますが、Cの部分が、(コレクション)となってしまいます。
xmlから読み取るcの数が予め決まっていれば、クラスの宣言をListではなく、c1、c2、、、ciといった形で、決まった数だけ宣言してやれば、上手く表示できるのですが、cの数が、読み取るxmlのタイプによって異なるため、上記のような試し方を行いましたが、上手くゆきませんでした。
プログラミングに慣れておらず、様々なHP等から、データテーブルの表示方法の流れとして、クラス宣言→リスト宣言→datagridに渡すという流れしか知らないため、今回のような事例に対してはそもそものアプローチが間違っているのかもしれませんが、皆様のお知恵をお借りできれ大変助かります。
宜しくお願いいたします。
補足情報(FW/ツールのバージョンなど)
visual studio 2017
回答2件
あなたの回答
tips
プレビュー