我要求在一个页面中有两个ui-grid,如下面的屏幕截图所示
在 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;
所以我的另一个问题是,enableFiltering
和useExternalFiltering
都适用于同一个UI-Grid。
答案 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,但我猜它会以类似的方式工作。