2017-07-27 2 views
0

Le filtrage ne fonctionne pas dans ui-grid lorsque la sélection est activée, mais lorsque je supprime la directive ui-grid-selection de la partie html, le filtrage fonctionne bien! notes: Je remplis columnDefs de gridOptions plus tard dynamiquement par un appel de service.Le filtrage et la sélection d'ui-grille ne fonctionnent pas lorsque vous utilisez les deux

Code .js:

$scope.gridOptions = {    
     ,enableRowSelection: true 
     , enableRowHeaderSelection: true 
     , multiSelect: false 
     , treeRowHeaderAlwaysVisible: false 
     , useExternalFiltering: true 

     , onRegisterApi: function (gridApi) { 
      self.gridApi = gridApi; 

      gridApi.core.on.filterChanged($scope, function() { 

       if (!usePagination) 
        return; 

       var grid = this.grid; 
       var gridfilter = []; 

       angular.forEach(grid.columns, function (col, index) { 
        if (col.filters[0].term) 

         gridfilter.push(
           { 
            FieldName: col.name, 
            MatchType: 6, 
            Value1: col.filters[0].term 
           } 
         ); 
       }); 

       self.searchOption.filters = [{ filter: gridfilter }]; 
       self.reload(); 
      }); 
} 

Code .html:

<div ui-grid="gridOptions" dir="rtl" style="height: 600px; width: 100%" 
        ui-grid-selection></div> 

Répondre

0

i initié columnDefs dans gridOption et il a résolu le problème:

$scope.gridOptions = { 
     columnDefs:[{}] 
     ,enableRowSelection: true 
     .... 
}