Javascript 如何在angular ui网格中实现外部过滤器?

Javascript 如何在angular ui网格中实现外部过滤器?,javascript,angularjs,mongodb,express,angular-ui-grid,Javascript,Angularjs,Mongodb,Express,Angular Ui Grid,我有一份申请书。在应用程序中使用ui网格并希望对每个列进行筛选。 我已经找遍了整张桌子,结果成功了。这是我的html: <div class="col-md-12" ng-controller="FlatController as flat"> <div class="search-wrapper"> <div class="search-box"> <input type="text" class="fo

我有一份申请书。在应用程序中使用ui网格并希望对每个列进行筛选。 我已经找遍了整张桌子,结果成功了。这是我的html:

<div class="col-md-12" ng-controller="FlatController as flat">
    <div class="search-wrapper">
        <div class="search-box">
            <input type="text" class="form-control" ng-model="flat.searchText" ng-change="flat.refreshData()" placeholder="Search...">
        </div>
    </div>
    <div class="ui-grid-wrapper">
        <div ui-grid="flat.gridOptions" ui-grid-resize-columns ui-grid-auto-resize id="grid1" class="grid"></div>
    </div>
</div>

也许谁知道如何在我的html中为每个ui网格列添加输入?

您可以使用
registerRowsProcessor


事实上,他们有一个例子。请看一看。

我正试图使用它,但这里有一个错误:$scope.filter=function(){$scope.gridApi.grid.refresh();};网格未定义(请将onRegisterApi:function(gridApi){$scope.gridApi=gridApi;}添加到您的gridOptions内当然,在$scope.gridOptions={data:data,enableSorting:true,enableFiltering:false,onRegisterApi:function(gridApi)内使用它){$scope.gridApi=gridApi;$scope.gridApi.grid.registerRowsProcessor(vm.singleFilter,200);},enableColumnResizing:true};无论如何,我可以过滤呈现的值,而不是实体本身?例如:应用日期过滤器后
angular.module('flatCtrl', ['flatService', 'ngTouch', 'ui.grid', 'ui.grid.resizeColumns', 'ui.grid.moveColumns', 'ui.grid.autoResize', 'ngSanitize', 'ui.select', 'ui.date'])
        .controller('FlatController', ['Flat', 'socketio', '$filter', function(Flat, socketio, $filter){

            vm = this;
            Flat.allFlat()
                .success(function(data){
                    vm.flats = data;
                    vm.gridOptions = {
                        data: data,
                         columnDefs: [
                            {field: 'id', displayName: 'Id', visible: false},
                            {field: 'creator', displayName: 'Creator', visible: false},
                            {field: 'typelocal', displayName: 'Typ lokalu', visible: true},
                            {field: 'country', displayName: 'Kraj', visible: true},
                            {field: 'city', displayName: 'Miejscowość', visible: true},
                            {field: 'district', displayName: 'Dzielnica', visible: true}
                         ]
                    };
                    vm.refreshData = function() {
                        vm.gridOptions.data = $filter('filter')(vm.flats, vm.searchText, undefined);
                    };
    });