クラスのリストをデータグリッドにマップしようとしていますが、非常に奇妙なエラーが発生します。次のクラスで構成される「AllVars」というリンク リストがあります。
public class LoggedVariable
{
public LoggedVariable()
{
Values = new List<float>();
}
public List<float> Values { get; set; }
public string name { get; set; }
public bool drawn { get; set; }
}
これらのクラスは 8 つあり、それぞれに値のリストが入力されています。最初にそれらを DataTable にマッピングし、次にテーブルをグリッドにバインドして、これらの値をデータグリッドに表示しようとしています。
Why = new DataSet();
GraphData = new DataTable();
foreach(LoggedVariable element in AllVars)
{
GraphData.Columns.Add(element.name);
}
for (int t = 0; t < AllVars[0].Values.Count; t++)
{
foo = GraphData.NewRow();
foreach (LoggedVariable element in AllVars)
{
foo[element.name] = element.Values[t];
}
GraphData.Rows.Add(foo);
}
Why.Tables.Add(GraphData);
LoggedGrid.ItemsSource = Why.Tables[0].DefaultView;
ただし、これを行うと、3 番目、5 番目、7 番目の列にはデータが表示されませんが、マッピング前のテーブルは、データ グリッドにマッピングする前にそれらの列にデータがあることを示しています...何かアイデアはありますか?