内部和外部排序/过滤可以应用于ui-grid吗?

时间:2016-03-24 19:26:04

标签: javascript angularjs grid angular-ui-grid

我要求在一个页面中有两个ui-grid,如下面的屏幕截图所示enter image description here

UI-Grid One 中:批量费用应该有自己的排序/过滤,即通过

col.enableFiltering = true;
col.enableSorting = true; // (Typescript code)

在网格二中 - 对于示例测试名称列,它应该启用自己的过滤/排序。

但除此之外,从List Price列到Net Interco列,过滤/排序应基于第一个网格。即

如果我对List Price进行排序,那么第二个网格中的相应列也应该排序。类似地,当我在NBS Price上使用过滤器时,第二个网格中的相应列也应该根据第一个UI-Grid中过滤器文本框中输入的文本进行过滤。

如果可能,请告诉我。

我尝试了通过sortChanged注册的UI-Grid API的onRegisterApi方法,但它没有用。

所以我对这两个网格的最终Grid配置看起来像

grid.enableFiltering = true;
grid.enableSorting = true;
grid.useExternalFiltering = true;
grid.useExternalSorting = true;

所以我的另一个问题是,enableFilteringuseExternalFiltering都适用于同一个UI-Grid。

1 个答案:

答案 0 :(得分:0)

对于过滤器更改,您可以使用filterChanged事件(我使用它并且它可以正常工作)。把它放在你的onRegisterApi函数中:

onRegisterApi: function(gridApi) {

   gridApi.core.on.filterChanged($scope, function(....) {
     // Set some scope variable that both lists use for filtering
     $scope.someFilterValueBothListsLookAt = ......
   });

}

我没有尝试过sortChanged,但我猜它会以类似的方式工作。