2017-06-06 48 views
0

我有一個UI網格組件,當您單擊一行時,我希望它加載頁面上另一個UI網格組件的內容。 你將如何編寫一個函數來告訴網格根據從第一個網格行中選擇的參數的其餘api調用來更新第二個網格?例如,第一個網格將是一個狀態列表,第二個網格將顯示所選狀態內的所有城市。根據從另一個UI網格中選擇的行加載一個UI網格

回答

0

以下是實現您要查找的步驟。

  • 註冊電網API
  • 呼叫modifyRows
  • 把你secoundary函數調用使用。獲得selectedRows()的調用onRowSelection內獲得所有選定行。

這裏是一個簡單的例子:

$scope.yourGridName.onRegisterApi = function (gridApi) { 
    // Set gridApi on scope, if you have more then one grid, 
    // Your grid api name (gApi in this case)must be unique 
    $scope.gApi = gridApi; 

    // Allow row modification 
    $scope.gApi.grid.modifyRows($scope.requestsGrid.data); 

    // On a change of selection 
    gridApi.selection.on.rowSelectionChanged($scope, function (row) { 

     // Get current selected row, current row is an array 
     var currentRow = $scope.gApi.selection.getSelectedRows(); 

     //put your secondary call for your second grid here ex: 
     var config = { 
      params : {param : currentRow[0].prop} 
     } 

     $scope.get("/your/URL", config) 
       .then (function (data) { //success callback }) 
       .then (function (data, status...etc) { //error callback}) 
       .finally(function(data,...etc) {//reset your grid}) 
    }); 
}; 

讓我知道這是否解決您的問題。

http://ui-grid.info/docs/#/tutorial

相關問題