2011-06-07 8 views
2

WPFデータグリッドにデータを挿入しようとしていますが、最初の列(!)の列ヘッダーとコンテンツセルのみを表示しています。他のすべてのセルは空です:WPF DataGridが空のダブルセルを表示しているのに正しい列ヘッダーを表示します

enter image description here

データグリッドは次のように定義されています。

<DataGrid ItemsSource="{Binding Classifications, Mode=OneWay}" 
     AutoGenerateColumns="True" HeadersVisibility="Column" />       

分類は次のようにコードビハインドファイルで定義されています

public DataView Classifications 
{ 
    get 
    { 
     return ClassificationDataTable.GetTable(myData).DefaultView 
    } 
} 

、最終的にこれは私のデータジェネレータです:

public static class ClassificationDataTable 
{ 
    public static DataTable GetTable(List<Classification> classifications) 
    { 
     DataTable table = new DataTable(); 

     // build columns 
     table.Columns.Add("FruitPrototype", typeof (string)); 
     foreach (var featureComparison in classifications[0].FeatureComparisons) 
      table.Columns.Add(featureComparison.FeatureName, typeof (double)); 

     // add rows 
     foreach (var classification in classifications) 
     { 
      object[] values = new object[classification.FeatureComparisons.Count+1]; 
      values[0] = classification.FruitPrototype.FruitType; 
      for (int i = 0; i < classification.FeatureComparisons.Count; i++)     
       values[i + 1] = classification.FeatureComparisons[i].NormalizedDistance; 

      table.Rows.Add(values); 
     } 
     return table; 
    } 
} 

バインディングを検証し、DataTableのDefaultViewが実際にDataGridのItemsSourceにバインドされていることを確認できます。また、グリッドに表示されるべき二重の値は!= 0です。

私はここで何が欠けていますか?

答えて

3

私はジミーWの助けを借りてそれを理解しましたquestion:何らかの形で細胞の結合を破壊したカラム名に角かっこがいくつかありました。機能名の値を変更する

table.Columns.Add(featureComparison.FeatureName, typeof (double)); 

私の問題が修正されました。

関連する問題