如何绑定两个不同 Xamdatagrids 的 GroupBy?
How to bind the GroupBy of two different Xamdatagrids?
我有两个具有相同列结构的 xamdatagrid,并与我的视图模型中的两个不同数据表绑定。
我正在尝试实现一种情况,如果我将 Group By 应用于 grid1 的任何列,则 grid2 也应该以类似的方式分组。
有什么事件可以用来实现这个目标吗?
可以通过使用 XamDataGrid
控件的 Grouping
事件来实现此功能。
首先,在XAML中定义Grouping
事件处理器:
<igDP:XamDataGrid x:Name="Grid1" Grouping="Grid1_Grouping">
其次,为Grid1_Grouping
添加如下代码:
private void Grid1_Grouping(object sender, Infragistics.Windows.DataPresenter.Events.GroupingEventArgs e)
{
// Clear all previous items from the groups collection
Grid2.FieldLayouts[0].SortedFields.Clear();
// Add the same groups set as currently defined in the Grid1
foreach (var g in e.Groups)
{
Grid2.FieldLayouts[0].SortedFields.Add(new FieldSortDescription { FieldName = g.FieldName, Direction = g.Direction, IsGroupBy = g.IsGroupBy });
}
}
我有两个具有相同列结构的 xamdatagrid,并与我的视图模型中的两个不同数据表绑定。
我正在尝试实现一种情况,如果我将 Group By 应用于 grid1 的任何列,则 grid2 也应该以类似的方式分组。
有什么事件可以用来实现这个目标吗?
可以通过使用 XamDataGrid
控件的 Grouping
事件来实现此功能。
首先,在XAML中定义Grouping
事件处理器:
<igDP:XamDataGrid x:Name="Grid1" Grouping="Grid1_Grouping">
其次,为Grid1_Grouping
添加如下代码:
private void Grid1_Grouping(object sender, Infragistics.Windows.DataPresenter.Events.GroupingEventArgs e)
{
// Clear all previous items from the groups collection
Grid2.FieldLayouts[0].SortedFields.Clear();
// Add the same groups set as currently defined in the Grid1
foreach (var g in e.Groups)
{
Grid2.FieldLayouts[0].SortedFields.Add(new FieldSortDescription { FieldName = g.FieldName, Direction = g.Direction, IsGroupBy = g.IsGroupBy });
}
}