angularjs ui-grid datetime picker无法正常工作

时间:2017-03-02 13:15:28

标签: angularjs ui-grid

angularjs项目的网格。我需要过滤器的日期时间选择器。 所以我使用了angular angular-bootstrap-datetimepicker-directive 现在我的过滤器文本框显示了datetimepicker。

但是当我更改日期时,它不会触发过滤器更改事件

这是我的代码:

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

1 个答案:

答案 0 :(得分:0)

对于datepicker的更改事件,您可以添加:

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

强制举办活动。