2016-04-14 7 views
3

私はui-gridを使用しています。ユースケースでは、ボタンをクリックすると新しい行が追加されます。私は、新たに追加された行の最初のセルに焦点を当てたいと思います。同じものにはplunkrがあります。 http://plnkr.co/edit/6zyZ5quiグリッドの新しく追加された行にフォーカスを設定します

$scope.addNew = function() { 
var newobj = {"id": "","name":"" }; 
$scope.gridOptions.data.unshift(newobj); 
$scope.gridApi.core.notifyDataChange(uiGridConstants.dataChange.ROW); 

//set focus to the new row 
$scope.gridApi.cellNav.scrollToFocus($scope.gridOptions.data[0], $scope.gridOptions.columnDefs[0]); 
}; 

答えて

2
$timeout(function() { 
    $scope.gridApi.cellNav.scrollToFocus(
    $scope.termGridOptions.data[0], 
    $scope.termGridOptions.columnDefs[0] 
); 
}); 

私はそれが役に立てば幸い。

+0

私は以下を試みましたが、何も起こりません。 '$ timeout(function(){ $ scope.gridApi.cellNav.scrollToFocus($ scope.gridOptions.data [0]、$ scope.gridOptions.columnDefs [0]); }、3000);' – arnavakhoury

+0

が表示された場合、ui-gridはデータを更新するのにある程度の時間がかかります。小さな遅延($ intervalを使用して実現)がこのトリックでした。 – arnavakhoury

関連する問題