如何在角度js中显示完整对象的排序数据?

时间:2015-06-09 15:21:21

标签: angularjs angularjs-directive angularjs-scope angularjs-ng-repeat angular-ui-router

我正在尝试制作排序数据的演示并在桌面上显示。实际上在我的演示中,我正在点击一个服务得到一些数据(2000)对象作为响应。所以我一次显示50个对象并使用无限滚动我加载了更多正常工作的数据。当我滚动到底部时,我能够加载更多数据。我的标题“^”或“V”上有buutton。请检查标题(左侧图标“V”)示例“帐户名称”V“”使用此I图标我需要对列进行排序。

实际上问题是当前它排序显示在屏幕上的唯一 50 元素。当用户滚动到底部并加载更多 50 时 元素它排序 100 元素等等。但它不是正确的解决方案。我需要排序2000元素(所有来自服务的对象)并显示前50个元素当用户滚动到底部时,它可以加载50个元素,我们可以使用角度js

这是我的代码

http://plnkr.co/edit/rUxTGDqyrxVq9STdvDTV?p=preview

<ion-scroll scrollbar-y="true" delegate-handle="invoicegrid" ng-style="viewHeight">
  <div class="row" ng-repeat="column in invoice_records | limitTo: counter | orderBy: sortval:reverse track by $index" ng-class-odd="'odd-row'">
    <div class="col brd collapse-sm" ng-repeat="field in column.columns" ng-show="invoice_column_name[$index].checked && invoice_column_name[$index].fieldNameOrPath===field.fieldNameOrPath">{{field.value}}</div>
    <div class="col col-10 text-center brd collapse-sm"></div>
  </div>
</ion-scroll>
<ion-infinite-scroll immediate-check="false" on-infinite="loadMore(query)" distance="10%"></ion-infinite-scroll>

Java脚本

  $scope.setSort = function(idx, reverse){
    $scope.sortval = 'columns['+idx+'].value';
    $scope.reverse = reverse;
  };

2 个答案:

答案 0 :(得分:0)

只需在转发器中更改limitTo和orderBy的顺序

  

orderBy:... | limitTo:...

 <div class="row" ng-repeat="column in invoice_records |  orderBy: sortval:reverse track by $index | limitTo: counter " ng-class-odd="'odd-row'">

答案 1 :(得分:0)

您可以通过服务的结果来调用订单:

  System.out.println("Skipped " + total + "/" + s.getBytes().length + " bytes.");

  while ((len = bais2.read(bytes, 0, size)) != -1)
  {
    baos2.write(bytes, 0, len); // <- added write offset and length
    baos2.flush();

    total += len;
  }