Javascript 从分组数据中筛选后,Ng表未进行筛选或排序

Javascript 从分组数据中筛选后,Ng表未进行筛选或排序,javascript,angularjs,ngtable,Javascript,Angularjs,Ngtable,我正在学习angular.js和使用ng table指令的新方法。我将数据分组,然后使用ng表显示它们。我可以查看过滤后的数据,但无法进行排序或过滤。谁能帮我一下吗。这是普朗克密码。谢谢大家! 我正在使用第112行的ng表-> {{sample.Field1}} {{sample.Field4}} {{sample.Field5}} {{sample.Field6}} {{sample.Field7} {{sample.Field8}} {{sample.Field9} 在script.js文件

我正在学习angular.js和使用ng table指令的新方法。我将数据分组,然后使用ng表显示它们。我可以查看过滤后的数据,但无法进行排序或过滤。谁能帮我一下吗。这是普朗克密码。谢谢大家!

我正在使用第112行的ng表->

{{sample.Field1}} {{sample.Field4}} {{sample.Field5}} {{sample.Field6}} {{sample.Field7} {{sample.Field8}} {{sample.Field9} 在script.js文件中,代码

$scope.setCurrentSample = function(
                            options) {

                            $scope.homeview = false;
                            $scope.showdetail = false;
                            $scope.drilldown = true;

                            console.log("optionsxx = " + options.Field1);
                            $scope.myCurrentSample = _(
                                    $scope.samples).chain()
                                .where(options).value();



                            var data1 = $scope.myCurrentSample;

                            $scope['test_ngtable'] = new ngTableParams({
                                page: 1, // show first page
                                count: 10, // count per page
                                filter: {
                                    Field5: 'TRUE' // initial filter
                                },
                                sorting: {
                                    Field1: 'asc' // initial sorting
                                }
                            }, {
                                total: data1.length, // length of data
                                getData: function($defer, params) {
                                    console.log("total = " + data1.length);
                                    // use build-in angular filter
                                    var filteredData = params.filter() ?
                                        $filter('filter')(data1, params.filter()) :
                                        data1;
                                    var orderedData = params.sorting() ?
                                        $filter('orderBy')(filteredData, params.orderBy()) :
                                        data1;
                                    console.log("order by " + params.orderBy());
                                    params.total(orderedData.length); // set total for recalc pagination
                                    $defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
                                }
                            });




                        };
首先你需要用这个来替换

 <tr ng-repeat="sample in $data | filter:search ">
使用$data变量的ngTable指令,请参见

笔记
我试过使用您的plunk,替换后解决了问题,使用了您的plunk版本。

您的plunk如此之大,可以做的第一件事是:删除一行。重复的,第二件事是:您可以将ngTableParams移到setCurrentSample之外,以提高可读性并消除潜在的错误问题谢谢您的关注。我最终没有使用ng表,因为当我替换$data时,它会搜索整个数据集,有时不会。我添加了排序和全局搜索字段的功能来查找数据。我很高兴能提供帮助,ngTable插件相当不错,它可以处理全局搜索,如果您感兴趣,我们可以一起研究,通过打开新问题或当前plunk中存在问题?当前plunk中存在不同的问题-如果我们单击字段1-它将显示384行使用页面中的后退按钮,但如果我们单击字段6-它应该只显示3行。但它将显示所有行。在我的真实项目中,点击几下后,排序也停止工作,我不明白为什么。我将尝试发布新问题。哦,稍后我将尝试解决aswer的plunk中的错误
 <tr ng-repeat="sample in $data | filter:search ">