onRegisterApi
最初のグリッドを次のように更新します。
onRegisterApi: function(gridApi) {
console.log('Loaded Grid API 1');
$scope.gridApi1 = gridApi;
$scope.mySelectedRows1 = gridApi.selection.getSelectedRows();
gridApi.selection.on.rowSelectionChanged($scope,function(row){
$scope.selectedRow = row.entity;
$scope.gridApi2.selection.selectRow($scope.selectedRow);
});
}
私は rowSelectionChanged
イベントを最初のグリッドにバインドしているので、ユーザーが行を選択すると起動します..選択した行を$scope.selectedRow
2 番目のグリッドは、API を呼び出すことによって選択されますselectRow
。適切な選択を取得するには、行エンティティを渡す必要があることに注意してください。
$scope.gridApi2.selection.selectRow($scope.selectedRow); <-- selectedRow is row entity
最後に、次のようなものが得られます。
$scope.gridOptions1 = {
saveFocus: false,
saveScroll: true,
enableFiltering: true,
enableGridMenu: true,
onRegisterApi: function(gridApi) {
console.log('Loaded Grid API 1');
$scope.gridApi1 = gridApi;
gridApi.selection.on.rowSelectionChanged($scope,function(row){
$scope.gridApi2.selection.selectRow(row.entity);
});
}
};
$scope.gridOptions2 = {
saveFocus: false,
saveScroll: true,
enableFiltering: true,
enableGridMenu: true,
onRegisterApi: function(gridApi) {
console.log('Loaded Grid API 2');
$scope.gridApi2 = gridApi;
gridApi.selection.on.rowSelectionChanged($scope,function(row){
$scope.gridApi1.selection.selectRow(row.entity);
});
}
};