Angular UI-Grid expandableRow selectionChange update parent
Angular UI-Grid expandableRow selectionChange update parent
我使用 Angular-UI 网格和 ui-网格可扩展选项。
如果可扩展(子)网格的一行被 select 编辑,是否还有 select 父网格行的选项?
如果不是至少我需要在子(可扩展)网格的 rowSelectionChanged 事件中访问父级 grid/row,它似乎没有自己的范围?
gridApi.selection.on.rowSelectionChanged($scope, function (rows) {
var selectedRows=gridApi.selection.getSelectedRows();
...
//select parent grid row here...
});
是的,有办法做到这一点。您只需要在范围内向后移动即可访问父行和父行的网格 api。请记住,appScope
始终引用网格的父范围。因此,在您的可扩展子网格中,父范围包含行对象。
在子网格的 onRegisterApi
处理程序中,您可以通过以下方式访问父行:row.grid.appScope.row
。然后你可以 select 父行:row.grid.appScope.row.grid.api.selection.selectRow(row.grid.appScope.row.entity)
这是一个稍微清理一下的代码示例:
onRegisterApi: function (api) {
api.selection.on.rowSelectionChanged($scope, function (row, event) {
var parentRow = row.grid.appScope.row;
if (api.selection.getSelectedRows().length > 0) {
parentRow.grid.api.selection.selectRow(parentRow.entity);
}
else {
parentRow.grid.api.selection.unSelectRow(parentRow.entity);
}
});
}
还有一个演示插件:http://plnkr.co/edit/7HFHPTtmcXvgoJCKiRTd?p=preview
我使用 Angular-UI 网格和 ui-网格可扩展选项。 如果可扩展(子)网格的一行被 select 编辑,是否还有 select 父网格行的选项? 如果不是至少我需要在子(可扩展)网格的 rowSelectionChanged 事件中访问父级 grid/row,它似乎没有自己的范围?
gridApi.selection.on.rowSelectionChanged($scope, function (rows) {
var selectedRows=gridApi.selection.getSelectedRows();
...
//select parent grid row here...
});
是的,有办法做到这一点。您只需要在范围内向后移动即可访问父行和父行的网格 api。请记住,appScope
始终引用网格的父范围。因此,在您的可扩展子网格中,父范围包含行对象。
在子网格的 onRegisterApi
处理程序中,您可以通过以下方式访问父行:row.grid.appScope.row
。然后你可以 select 父行:row.grid.appScope.row.grid.api.selection.selectRow(row.grid.appScope.row.entity)
这是一个稍微清理一下的代码示例:
onRegisterApi: function (api) {
api.selection.on.rowSelectionChanged($scope, function (row, event) {
var parentRow = row.grid.appScope.row;
if (api.selection.getSelectedRows().length > 0) {
parentRow.grid.api.selection.selectRow(parentRow.entity);
}
else {
parentRow.grid.api.selection.unSelectRow(parentRow.entity);
}
});
}
还有一个演示插件:http://plnkr.co/edit/7HFHPTtmcXvgoJCKiRTd?p=preview