【发布时间】:2014-01-15 13:39:11
【问题描述】:
嗨,我使用嵌套数据网格,以下是它的定义, 这是输出的截图,
在上图中,我有 2 个数据网格。如果单击 outergrid 的任何一行,则会显示相应的 innergrid。现在,我不知道如何处理此事件并显示相应的内部网格数据。
这是我将数据网格绑定到的类结构,
class MyClass
{
public string Col1{ get; set; }
public string Col2{ get; set; }
public string Col3{ get; set; }
public string Col4{ get; set; }
public string Col5{ get; set; }
public ObservableCollection<InnerObject> inner_object{ get; set; }
}
class InnerObject
{
public string EventName { get; set; }
public string Date { get; set; }
public string Time { get; set; }
public string Message { get; set; }
public int RIndex { get; set; }
}
<DataGrid
x:Name="objDatagrid"
ItemsSource="{Binding DataView}"
CanUserAddRows="False"
CanUserDeleteRows="False"
AutoGenerateColumns="False"
BorderBrush="Gray"
>
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<DataTrigger Binding="{Binding TDate}" Value="">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.RowDetailsTemplate >
<DataTemplate>
<DataGrid
x:Name="objInnerDatagrid"
IsReadOnly="True"
ItemsSource="{Binding ElementName=objDatagrid, Path=SelectedItem.inner_object}">
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<DataTrigger Binding="{Binding Date}" Value="">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.Columns>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
<DataGrid.Columns>
<DataGridTextColumn Header="Col1" Width="SizeToHeader" Binding="{Binding Col1}" IsReadOnly="True"/>
<DataGridTextColumn Header="Col2" Width="80" Binding="{Binding Col2}" IsReadOnly="True"/>
<DataGridTextColumn Header="Col3" Width="80" Binding="{Binding Col3}" IsReadOnly="True"/>
<DataGridTextColumn Header="Col4" Width="120" Binding="{Binding Col4}" IsReadOnly="True"/>
<DataGridTextColumn Header="Col5" Width="100" Binding="{Binding Col5}" IsReadOnly="True"/>
</DataGrid.Columns>
</DataGrid>
我是 WPF 的新手。谁能解释一下上面的代码及其工作原理? 这将是一个很大的帮助。 提前致谢。
【问题讨论】:
标签: c# wpf wpfdatagrid