我正在使用新的UI网格,并且需要为子网格和父网格都设置自定义分页逻辑。
自定义分页有一个指令,当与主网格一起放置时,这种方法很有效。该指令有一些分页方法可以为网格设置数据。
但是当这个指令放在expandablegrid模板中时,我想在扩展主父网格后访问指令方法。但我无法访问这些方法
paginator指令:
app.directive('paginator', ["$parse", function ($parse) {
return {
restrict: 'E',
templateUrl: "..pagination.htm",
scope: {
datasource: "="
},
controller: ['$scope', function (scope) {
scope.datasource.computePageNumbers = function () {
//pagination logic
}
}
]
}
}]);
expandableGrid.html
<div class="row">
<div class="col-sm-12">
<div ui-grid="row.entity.subGridOptions" ui-grid-pagination class="grid"></div>
<paginator datasource="row.entity.childPagination" ></paginator>
</div>
</div>
在subGridOptions中设置值
$scope.paginationData = {};
$scope.gridOptions.data[i].childPagination=paginationData;
父网格行扩展代码。
这里在rowselection中我需要调用computePageNumbers并在row.Entity.data中设置数据,该行设置子网格的数据。 但我无法调用computePageNumbers。如何使它工作? 我可能没有详细解释,但如果有人可以提供帮助,对我或任何其他替代方案都有帮助。
gridApi.selection.on.rowSelectionChanged($scope, function (row) {
gridApi.expandable.toggleRowExpansion(row.entity)
});