2015-05-15 32 views
2

我對Angularjs很新穎。我用ng-table創建了一個表,問題是表頭排序不起作用。角度ng表排序不能用於固定標題

此處附上示例代碼。

HTML:(樣品NG-表)

<table ng-table="tableParams" show-filter="true" class="table"> 
    <thead> 
     <tr>Row 1</tr> 
     <tr>Row 2</tr> 
     <tr>Row 3</tr> 
     <tr>Row 4</tr> 
     <tr>Row 5</tr> 
     <tr>Row 6</tr> 
    </thead> 
    <tbody> 
     <tr ng-repeat="user in $data"> 
      <td sortable="'value1'">{{user.value1}}</td> 
      <td sortable="'value2'">{{user.value2}}</td> 
      <td sortable="'value3'">{{user.value3}}</td> 
      <td sortable="'value4'">{{user.value4}}</td> 
      <td sortable="'value5'">{{user.value5}}</td> 
      <td sortable="'value6'">{{user.value6}}</td> 
     </tr> 
    </tbody> 
</table> 

控制器:

$http.get('/portal/api/documents/'+Id).success(function(data){ 
      var data = data.result; 
      $scope.tableParams = new ngTableParams({ 
       page: 1,   // show first page 
       count: 10,   // count per page 
       sorting: { 
        name: 'asc'  // initial sorting 
       } 
      }, { 
       total: data.length, // length of data 
       getData: function($defer, params) { 
        // Pagination 
        $defer.resolve(data.slice((params.page() - 1) * params.count(), params.page() * params.count())); 
        // 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())); 
       } 
      }); 
    }); 

回答

4

我認爲你的問題來自於你分配設定:

sorting: { 
    name: 'asc'  // initial sorting 
} 

你似乎並沒有一個name參數在你的表格列(value1,value2,...除非你沒有顯示你你的實際代碼)

如果要排序的第一列,你應該試試這個:

sorting: { 
    value1: 'asc'  // initial sorting 
} 
+0

不是爲我工作:( –

+0

你能精確什麼是不工作? 您的數據沒有在特殊的專欄(像我的答案中的'value1')訂購? 您沒有列標題中的箭頭來選擇排序? – Truche

+0

是的。我沒有對箭頭進行排序。 –