2017-03-02 59 views
0

angularjs項目的網格。我需要日期時間選擇器的過濾器。 所以我用角角自舉的DateTimePicker-指令爲 現在我的過濾器文本框中顯示的DateTimePicker。angularjs ui-grid datetime選擇器不工作

但是,當我更改日期也不會觸發過濾器更換事件

這裏是我的代碼:

$scope.gridOptions = { 
     paginationPageSizes : [1], 
     paginationPageSize : 1, 
     useExternalPagination: true, 
     showGridFooter  : true, 
     showColumnFooter  : true, 
     enableFiltering  : true, 
     useExternalFiltering : true, 
     onRegisterApi  : function(gridApi) { 
      $scope.gridApi = gridApi; 

      $scope.gridApi.core.on.filterChanged($scope, function(){ 
         console.log("teststs"); 
       angular.forEach(this.grid.columns, function(column){ 
        console.log(column.filters[0].term); 
        if(column.filters[0].term) 
         $scope.searchParams[column.name] = column.filters[0].term; 
        else if(column.filters[0].term === null) 
         delete $scope.searchParams[column.name]; 
       }); 

       getPages(1, $scope.searchParams); 
      }); 
     }, 
     columnDefs   : [ 
      { 
       field: 'createdAt', 
       filterHeaderTemplate: '<div class="ui-grid-filter-container"><input type="text" id="dt1" class="form-control input-sm" datetimepicker ng-model="colFilter.term" placeholder="RAMA" name="time"></div>', 
       cellFilter: 'date: "yyyy-MM-dd"' 
      }, 
      { 
       field: 'updatedAt', 
       cellFilter: 'date: "' + ENV.dateFormat + '"' 
      } 
     ] 
    }; 

回答

0
在日期選擇器的改變事件

,您可以添加:

$scope.gridPacksApi.core.raise.filterChanged(); 

強制該事件。