2017-03-02 1 views
0

angularjs 프로젝트의 격자입니다. 필터에 datetime picker가 필요합니다. 그래서 angle-bootstrap-datetimepicker-directive를 사용했습니다. 이제 내 필터 텍스트 상자에 datetimepicker가 표시됩니다.angularjs ui-grid datetime picker가 작동하지 않았습니다.

하지만 난 날짜를 변경할 때 필터 교환 이벤트 여기

트리거되지 않습니다 내 코드는 다음 날짜 선택기의 변경 이벤트에

$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(); 
이벤트를 강제 실행하려면

입니다.