2017-03-02 6 views
0

grid für angularjs project. Ich brauche die Datum/Uhrzeit-Auswahl für den Filter. Also habe ich angular angular-bootstrap-datetimepicker-Direktive für das verwendet Jetzt zeigt mein Filter Textfeld den Datetimepicker.angularjs ui-grid datetime picker funktionierte nicht

Aber wenn ich das Datum ändern es nicht Filterwechsel Ereignis

Hier mein Code auslösen soll:

$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 + '"' 
      } 
     ] 
    }; 

Antwort

0

auf dem Änderungsereignis des picker, könnte man hinzufügen:

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

, um das Ereignis zu erzwingen.