2017-06-06 72 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

相关问题