如何将行选择设置为新添加的行?
问题描述:
我需要将选择设置为新添加的行。 当输入$scope.gridApi.selection.selectRow(newObject)
时,网格的行模型没有新行,因此无法选择它。 方法addRow
完成后,网格显示新的行(和数据),但未做出选择。如何将行选择设置为新添加的行?
我的测试代码:
$scope.addRow = function() {
$scope.gridOptions.data.unshift({
// my new data object
});
var newObject = $scope.gridOptions.data[0];
$scope.gridApi.selection.selectRow(newObject);
};
我怎样才能实现这种行为?
在我需要听的angularjs ui-grid中是否存在类似'rowAdded'的事件? 是否有任何地方有ui-grid发起的事件的全面列表?
感谢您的帮助!
答
你可以在行,列等事件监听器。该文件是在这里http://ui-grid.info/docs/#/api/ui.grid.class:Grid
可以在onRegisterApi添加数据听众像下面,
onRegisterApi : function(gridApi)
{
if(!$scope.gridApi)
{
$scope.gridApi = gridApi;
$scope.gridApi.grid.registerDataChangeCallback(function(data)
{
$scope.gridApi.selection.selectRow($scope.gridOptions.data[0]);
}, [uiGridConstants.dataChange.ROW]);
}
}
,并选择您要选择的任何行。
这是一个工作plnkr。 http://plnkr.co/edit/NjnMb65w86L0bKmkkJp0?p=preview