2010-07-07 9 views
1

hey comment puis-je mettre une grille de données à l'intérieur d'une autre cellule de données 4ex- J'ai une colonne de cutomer avec un signe de réduction (ou un bouton) maintenant quand je clique sur le signe (ou le bouton) une nouvelle grille de données est polpulé sur la même ligne la colonne suivante avec les détails du client.datagrid dans une cellule datagrid

peut-on indiquer comment cela peut être fait?

+0

Quelle langue parlons-nous ici? C#? VB .NET? J'ai vu cette fonctionnalité dans Access. –

Répondre

1

assez simple ...

public partial class Window1 : Window 
    { 
     DataTable dt = new DataTable(); 
     public Window1() 
     { 
      InitializeComponent(); 
      dt.Columns.Add("AA", typeof(string)); 
      dt.Columns.Add("BB", typeof(string)); 
      dt.Columns.Add("CC", typeof(string)); 
      dt.Rows.Add("11", "22"); 
      dt.Rows.Add("22", "33"); 
      dt.Rows.Add("33", "44"); 
      dataGrid1.ItemsSource = dt.DefaultView; 
      this.dataGrid1.RowDetailsVisibilityChanged += new EventHandler<Microsoft.Windows.Controls.DataGridRowDetailsEventArgs>(datagrid1_RowdetailsVisibilityChanged); 

     } 

     void datagrid1_RowdetailsVisibilityChanged(object sender, Microsoft.Windows.Controls.DataGridRowDetailsEventArgs e) 
     { 
      Microsoft.Windows.Controls.DataGrid innerDataGrid = e.DetailsElement as Microsoft.Windows.Controls.DataGrid; 
      innerDataGrid.ItemsSource = ((IListSource)dt).GetList(); 
     } 

dans le fichier XAML écrire le code

 <my:DataGrid.RowDetailsTemplate> 
      <DataTemplate> 
       <my:DataGrid Name="datagrid2"></my:DataGrid> 
      </DataTemplate> 
     </my:DataGrid.RowDetailsTemplate> 
    </my:DataGrid> 
</Grid> 
Questions connexes