如何绑定两个不同 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 });
    }
}