如何使用ng-table将特定行(基于列值)始终放在表的底部?

时间:2015-10-15 10:26:49

标签: javascript angularjs ngtable angularjs-ng-table

我是AngularJsng-table的新用户,我尝试使用可排序属性对ng-table进行排序,但是我的工作正常,但我有一行最后的结果,这里我怎么能使用sortable而不影响特定行?

<table ng-table="tableParams" ng-model="Controller.data" class="table" show-filter="true">
   <tr ng-if="entry.task_name!='Totals'" ng-class="{info: $even, active: $odd}" ng-repeat="entry in $data">
     <td  data-title="'Task Name'" sortable="'taskName'" filter="{ 'taskName': 'text' }"><div ng-show="entry.taskName!=false">{{entry.taskName}}</div></td>
     <td  data-title="'Planned Hours'" sortable="'plannedHours'">{{entry.plannedHours}}</td>
     <td></td>
   </tr>
   <tr ng-if="entry.task_name ==='Totals'" ng-class="{info: $even, active: $odd}" ng-repeat="entry in $data">
     <td  data-title="'Task Name'" >{{entry.taskName}}</td>
     <td  data-title="'Planned Hours'">{{entry.plannedHours}}</td>
     <td></td>
   </tr>
   <tr>
     <td ng-show="repCtrl.noData" ng-bind="repCtrl.noData"></td>
   </tr>
</table>

1 个答案:

答案 0 :(得分:0)

您是否尝试将此行放入<tfoot>?

<table ng-table="tableParams" ng-model="Controller.data" class="table" show-filter="true">
  <tbody>
    <tr ng-class="{info: $even, active: $odd}" ng-repeat="entry in $data | filter: myFilter">
      <td data-title="'Task Name'" sortable="'taskName'" filter="{ 'taskName': 'text' }">
        <div ng-show="entry.taskName!=false">{{entry.taskName}}</div>
      </td>
      <td data-title="'Planned Hours'" sortable="'plannedHours'">{{entry.plannedHours}}</td>
      <td></td>
    </tr>
    <tr>
      <td ng-show="repCtrl.noData" ng-bind="repCtrl.noData"></td>
    </tr>
  </tbody>
  <tfoot>
    <tr ng-repeat="entry in $data | filter: {taskName:'Totals'}">
      <td>{{entry.taskName}}</td>
      <td>{{entry.plannedHours}}</td>
      <td></td>
    </tr>
  </tfoot>
</table>
<script>
   $scope.myFilter = function (item) { 
        return item.taskName !== 'Totals'; 
    };
</script>

我的plnkr包含不同的数据,但按预期工作:http://plnkr.co/edit/Rx7Kqp?p=preview