角度ng表排序不在固定标头中工作

时间:2015-05-15 14:20:10

标签: angularjs ngtable

我对Angularjs很新。我使用ng-table创建了一个表,问题是表头排序不起作用。

此处附带示例代码。

HTML :(样本ng-table)

<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()));
                }
            });
    });

1 个答案:

答案 0 :(得分:4)

我认为您的问题来自您的排序配置:

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

您的某个表格列中似乎没有name参数(value1,value2,...除非您没有向我们展示您的真实代码)

如果您想对第一列进行排序,请尝试以下方法:

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