2011-09-16 25 views
0

ネストされたカラムを持つDataGridを作成したいと思います(添付の画像を見てください)。または可能であれば、セルにグリッドを埋め込みます。 私のオブジェクトには多くの異なる情報があり、オブジェクトタイプに基づいて、セルで追加された情報(イメージ内の入れ子にされた列)を列で区切ります。銀色でも可能ですか?Silverlight DataGridのネストされたカラム、ネストされたDataGrid

可能であれば、新しいグリッド全体をセルに挿入するだけで完璧です。 DataGridの任意の提案

Nested grid silverlight

答えて

0

あなたのDataContextに基づいて適切なのDataTemplateを割り当てるために活用してデータグリッドのLoadingRowイベント。私の応答と同様に

Enabling/Disabling row in a data grid

あなたは次のようにします。私は、データグリッド・ソリューション:)ないレイアウトグリッドを求め

private void MyDataGrid_LoadingRow(object sender, DataGridRowEventArgs e) 
{ 
    MyDataObjectClass dataContext = (e.Row.DataContext as MyDataObjectClass); 

    foreach (DataGridColumn col in from cols in MyDataGrid.Columns orderby cols.DisplayIndex select cols) 
    { 
     FrameworkElement fe = col.GetCellContent(e.Row); 

     DataGridCell result = fe.Parent as DataGridCell; 

     // as an example, find a template column w/ a desired sort member path 
     if (col is DataGridTemplateColumn && col.SortMemberPath == "x") 
     { 
      if (condition1) 
      { 
       result.ContentTemplate = (DataTemplate)Resources["NestedGridTemplate1"]; 
      } 
      else 
      { 
       result.ContentTemplate = (DataTemplate)Resources["NestedGridTemplate2"]; 
      }     
     } 
    } 
}