Posted 6 December 2018, 9:20 pm EST
Hi,
For expanding and Collapsing all rows on single button click you can make use of Button.Click and C1DataGrid.RowDetailsVisibilityChanged events in combination as follows:
private void visibiltyButton_Click(object sender, RoutedEventArgs e)
{
doChange = true;
var visibility = (Visibility)Enum.Parse(typeof(Visibility), visibilityButton.Tag.ToString());
if (visibility == Visibility.Visible)
{
(sender as Button).Tag = Visibility.Collapsed;
parentGrid.Rows.ToList().ForEach(x => x.DetailsVisibility = Visibility.Collapsed);
}
else
{
(sender as Button).Tag = Visibility.Visible;
parentGrid.Rows.ToList().ForEach(x => x.DetailsVisibility = Visibility.Visible);
}
doChange = false;
}
private void parentGrid_RowDetailsVisibilityChanged(object sender, C1.WPF.DataGrid.DataGridRowEventArgs e)
{
if (doChange && e.Row.DetailsPresenter!=null)
{
var detailGrid = (e.Row.DetailsPresenter.Content as C1DataGrid);
var visibility = (Visibility)Enum.Parse(typeof(Visibility), visibilityButton.Tag.ToString());
detailGrid.Rows.ToList().ForEach(x => x.DetailsVisibility = visibility);
}
}
Please refer the attached sample(prj_NestedDataGrids.zip) for complete implementation.
Thank you.
prj_NestedDataGrids.zip