2015-04-09 13 views
5

Tôi có hàng đã chọn và bằng cách nhấp vào một số nút (hiện tại tôi sử dụng không gian qua AngularHotkeys.js) Tôi muốn bỏ chọn hàng hiện tại và chọn hàng tiếp theo sau hàng hiện được chọn.Cách chọn hàng tiếp theo trong lưới giao diện người dùng góc?

Điều phức tạp hơn khi biết rằng tôi có thể sắp xếp bảng với các cột khác nhau. Vì vậy, nó sẽ là tuyệt vời để biết chỉ số của hàng hiện tại với phân loại hiện hành được áp dụng.

Từ nơi nào tôi bắt đầu với sự cố này?
Bất kỳ đề xuất nào được đánh giá cao.

+1

IMHO, tôi sẽ đính kèm một id để mỗi hàng và chọn bởi id hàng. – ABOS

Trả lời

-1

Nếu tôi hiểu bạn một cách chính xác, bạn sẽ có thể thực hiện những gì bạn muốn với một cái gì đó như thế. (Bạn đã không kiểm tra rằng)

$scope.scrollTo = function(rowIndex) { 
    $scope.gridApi.core.scrollTo($scope.gridOptions.data[rowIndex], 0); 
}; 

$scope.nextRow() { 
    var current = $scope.gridApi.selection.getSelectedRows(); 
    scrollTo(current + 1); 
} 

Cheers

2

Bạn có thể nhận các mảng của các hàng, trong tình trạng sắp xếp và lọc của họ, từ $scope.gridApi.grid.renderContainers.body.visibleRowCache. Ngoài ra còn có một loạt các trickiness để đối phó với khi bạn có thực thể và khi bạn có gridRow, do đó, mã được một chút phức tạp.

Mã của bạn sẽ là một cái gì đó như:

$scope.selectNextRow = function() { 
    var currentRowIndex; 
    var selectedRows = $scope.gridApi.selection.getSelectedRows(); 
    if(selectedRows.length < 1){ 
    // if nothing selected, we'll select the top row 
    currentRowIndex = -1; 
    } else { 
    // if there are multiple selected, we use the first one 
    var selectedRow = selectedRows[0]; 
    var gridRow = $scope.gridApi.grid.getRow(selectedRow); 
    currentRowIndex = $scope.gridApi.grid.renderContainers.body.visibleRowCache.indexOf(gridRow); 
    } 

    $scope.gridApi.selection.clearSelectedRows(); 
     $scope.gridApi.selection.selectRow($scope.gridApi.grid.renderContainers.body.visibleRowCache[currentRowIndex + 1].entity); 
}; 

Tham khảo http://plnkr.co/edit/Z7HCjVY6oxGJzyjLI6Qo?p=preview

+0

Trợ giúp rất lớn - điều này làm việc tuyệt vời cho tôi khi ẩn cột và cần phải quấn đến hàng tiếp theo. –

Các vấn đề liên quan