我目前有一个使用Angular ui-grid创建的网格,允许用户选择多个行。每行的第一列都有一个id号,我想将所选行的id添加到模型中的对象,以便我可以使用这些id在后端查询我的数据库。
我的问题是我还没弄清楚如何访问单元格值,更不用说如何将所选单元格的值添加到模型中。所以任何帮助都将非常感谢!
以下是我在控制器中使用的网格代码
$scope.gridOptions = {
enablePaginationControls: false,
enableRowSelection: true,
enableSelectAll: true,
paginationPageSize: 25,
enableHorizontalScrollbar: 0,
enableVerticalScrollbar: 0,
columnDefs: [
{field: 'analysis_id',displayName: 'Analysis ID',width: '15%'},
{field: 'study_id', displayName: 'Study ID',width: '15%'},
{field: 'publisher', displayName: 'Publisher',cellFilter: 'titlecase',width: '20%'},
{field: 'parent_company', displayName: 'Parent Company', cellFilter: 'titlecase',width: '30%'}
]};
$scope.gridOptions.onRegisterApi = function(gridApi) {
$scope.gridApi = gridApi;
};
答案 0 :(得分:1)
尝试
$scope.gridApi.cellNav.on.navigate($scope,function(newRowCol, oldRowCol) {
console.log($scope.gridApi.grid.getCellValue(newRowCol.row,newRowCol.col));
});
答案 1 :(得分:1)
也许 gridApi.selection.getSelectedRows(); 是您需要的。
([' ui.grid.selection'] app.module中的依赖性)
$scope.gridOptions.onRegisterApi = function(gridApi){
$scope.gridApi = gridApi;
gridApi.selection.on.rowSelectionChanged($scope,function(row){
$scope.selectedObject = gridApi.selection.getSelectedRows();
console.log ($scope.selectedObject);
});
};