首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不排序的ngTable

不排序的ngTable
EN

Stack Overflow用户
提问于 2015-12-17 18:40:49
回答 2查看 848关注 0票数 0

我在使用ngTable。分类不起作用了。

分页工作很好,它显示了我需要的所有数据。但我不能分类

我正在使用$data (我不知道它的用途),但仍然无法排序。

我的html:

代码语言:javascript
复制
<div class="panel-heading">
  <table ng-table="vm.tableParams">
    <tbody>
      <tr ng-repeat="event in $data">
        <td data-title="'Nombre'" sortable="'name'">  {{ event.phone ? "Tex1" : Text2 }}</td>
        <td data-title="'Dia Entero'" sortable="'entero'">{{ event.allDay ? '√' : 'X'  }}</td>
        <td data-title="'F. Inicio'" sortable="'inicio'">{{ event.start | date:'dd-MM-yyyy' }}</td>
        <td data-title="'F. Fin'" sortable="'fin'">   {{ event.end | date:'dd-MM-yyyy' }}</td>
        <td data-title="'Telf.'" sortable="'telf'">  {{ event.phone ? event.phone : '--' }}</td>
      </tr>
    </tbody>
  </table>
</div>

我的js:

代码语言:javascript
复制
   // My data
   [{  
      "title":"Cerrado",
      "start":"2015-12-24T23:00:00.000Z",
      "allDay":true,
      "backgroundColor":"#f05050",
      "borderColor":"#f05050"
   },
   {  
      "title":"Abierto",
      "start":"2016-04-10T04:00:00.000Z",
      "end":"2016-04-10T08:00:00.000Z",
      "backgroundColor":"#43d967",
      "borderColor":"#43d967"
   },
   {  
      "title":"Mi Guardia",
      "start":"2015-12-24T01:00:00.000Z",
      "end":"2015-12-24T08:00:00.000Z",
      "backgroundColor":"#5d9cec",
      "borderColor":"#5d9cec"
   },
   {  
      "title":"super farmacias",
      "phone":"677889966",
      "address":"Calle badajoz 200",
      "start":"2016-01-06T02:00:00.000Z",
      "end":"2016-01-06T09:00:00.000Z",
      "backgroundColor":"#dde6e9",
      "borderColor":"#dde6e9",
      "textColor":"#555"
   }]

var data = vm.events;

vm.tableParams = new ngTableParams({
  page: 1,        // show first page
  count: 8,        // count per page
  sorting: {
    name: 'asc'
  }
},
{
  total: data.length,
  counts: [],
  getData: function($defer, params) {
    // use build-in angular filter
    var orderedData = params.sorting() ?
      $filter('orderBy')(data, params.orderBy()) :
      data;

    $defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
  }
});

我已经尝试了2个小时,用了很多例子,并为vm.values更改了vm.values,并创建了其他变量和内容。

知道为什么排序坏了吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-17 18:55:15

在检查数据之后,您必须修改HTML sortable =对象键。因为当您使用ng-table对表中的某些数据进行排序时,它是基于表中显示的数据。

在这种情况下,它将是您刚刚发布的数据。在您的数据中,您没有一个名为nameentero等字段。因此,排序函数不适用于您。

代码语言:javascript
复制
 <tr ng-repeat="event in $data">
    <td data-title="'Nombre'" sortable="'title'">  {{ event.phone ? "Tex1" : Text2 }}</td>
    <td data-title="'Dia Entero'" sortable="'allDay'">{{ event.allDay ? '√' : 'X'  }}</td>
    <td data-title="'F. Inicio'" sortable="'start'">{{ event.start | date:'dd-MM-yyyy' }}</td>
    ...
 </tr>
票数 1
EN

Stack Overflow用户

发布于 2015-12-17 18:46:39

通常用于排序,reverseSort功能很方便,请尝试以下排序

代码语言:javascript
复制
<th><a href="#" ng-click="orderByField='fieldName'; reverseSort=!reverseSort">Field Name</a></th>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34341940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档