datagrid height issue in nested datagrid( when using three data grid)
- by prince23
hi,
i have a nested datagrid(which is of three data grid). here i am able to show data with no issue.
the first datagrid has 5 rows
the main problem that comes here is when you click any row in first datagrid i show 2 datagrid( which has 10 rows)
lets say i click 3 row in 2 data grid. it show further records in third datagrid.
again when i click 5 row in 2 data grid it show further records in third datagrid.
now all the recods are shown fine
when u try to collpase the 3 row in 2 data grid it collpase but the issue is the height what the third datagrid which took space for showing the records( we can see a blank space showing between the main 2 datagrid and third data grid)
in every grid first column i have an button where i am writing this code for expand and collpase
this is the functionality i am implementing in all the datagrid button where i do expand collpase.
hope my question is clear
. any help would great
private void btn1_Click(object sender, RoutedEventArgs e)
{
try
{
Button btnExpandCollapse = sender as Button;
Image imgScore = (Image)btnExpandCollapse.FindName("img");
DependencyObject dep = (DependencyObject)e.OriginalSource;
while ((dep != null) && !(dep is DataGridRow))
{
dep = VisualTreeHelper.GetParent(dep);
}
// if we found the clicked row
if (dep != null && dep is DataGridRow)
{
DataGridRow row = (DataGridRow)dep;
// change the details visibility
if (row.DetailsVisibility == Visibility.Collapsed)
{
imgScore.Source = new BitmapImage(new Uri("/Images/a1.JPG", UriKind.Relative));
row.DetailsVisibility = Visibility.Visible;
}
else
{
imgScore.Source = new BitmapImage(new Uri("/Images/a2JPG", UriKind.Relative));
row.DetailsVisibility = Visibility.Collapsed;
}
}
}
catch (System.Exception)
{
}
}
---------------------------------------
2 datagrid
private void btn2_Click(object sender, RoutedEventArgs e)
{
try
{
Button btnExpandCollapse = sender as Button;
Image imgScore = (Image)btnExpandCollapse.FindName("img");
DependencyObject dep = (DependencyObject)e.OriginalSource;
while ((dep != null) && !(dep is DataGridRow))
{
dep = VisualTreeHelper.GetParent(dep);
}
// if we found the clicked row
if (dep != null && dep is DataGridRow)
{
DataGridRow row = (DataGridRow)dep;
// change the details visibility
if (row.DetailsVisibility == Visibility.Collapsed)
{
imgScore.Source = new BitmapImage(new Uri("/Images/a1.JPG", UriKind.Relative));
row.DetailsVisibility = Visibility.Visible;
}
else
{
imgScore.Source = new BitmapImage(new Uri("/Images/a2JPG", UriKind.Relative));
row.DetailsVisibility = Visibility.Collapsed;
}
}
}
catch (System.Exception)
{
}
}
-----------------
3 datagrid
private void btn1_Click(object sender, RoutedEventArgs e)
{
try
{
Button btnExpandCollapse = sender as Button;
Image imgScore = (Image)btnExpandCollapse.FindName("img");
DependencyObject dep = (DependencyObject)e.OriginalSource;
while ((dep != null) && !(dep is DataGridRow))
{
dep = VisualTreeHelper.GetParent(dep);
}
// if we found the clicked row
if (dep != null && dep is DataGridRow)
{
DataGridRow row = (DataGridRow)dep;
// change the details visibility
if (row.DetailsVisibility == Visibility.Collapsed)
{
imgScore.Source = new BitmapImage(new Uri("/Images/a1.JPG", UriKind.Relative));
row.DetailsVisibility = Visibility.Visible;
}
else
{
imgScore.Source = new BitmapImage(new Uri("/Images/a2JPG", UriKind.Relative));
row.DetailsVisibility = Visibility.Collapsed;
}
}
}
catch (System.Exception)
{
}
}**