如何在Angular Datatables中禁用数据的初始排序?

时间:2016-11-22 04:51:49

标签: javascript angularjs datatables angular-datatables

我正在使用角度数据表,我只有一列。

当我绑定它时,数据以ascneding顺序出现,而我想按照我收到的顺序显示它。

有人可以帮忙。

控制器:

        var vm = this;
        vm.dtOptions = DTOptionsBuilder.newOptions()
        .withButtons([
            'print',
            'pdfHtml5',

        ]);
        vm.dtColumnDefs = [
            DTColumnDefBuilder.newColumnDef(0).notSortable()
        ];

HTML:

  <div ng-controller="formViewController as frmView">
    <table datatable="ng" dt-options="frmView.dtOptions" dt-column-defs="frmView.dtColumnDefs" class="row-border hover">
        <thead>
            <tr>
                <td>
                    {{Title}}
                </td>
            </tr>
        </thead>
        <tbody>
            <tr ng-repeat="plugin in newArray track by $index">
                <td>
                    //Content
                </td>
            </tr>
        </tbody>
    </table>
</div>

3 个答案:

答案 0 :(得分:5)

查看order,以前称为aaSorting。添加

.withOption('order', [])

dtOptions。订单的默认值为[[0, 'asc']],将其设置为[]将阻止dataTable在初始化后对第一列进行初始排序。

答案 1 :(得分:2)

尝试一下

  dtOptions: DataTables.Settings = {};

  ngOnInit() {
    // table settings
    this.dtOptions = {
      pagingType: 'full_numbers',
      pageLength: 10,
      retrieve: true,
      order:[[0, 'desc']]   // '0' is the table column(1st column) and 'desc' is the sorting order
    }
  }

答案 2 :(得分:0)

  

已解决

this.dtOptions ={
 ajax:{},
 columns:[],
 order:[] //<= Use this
}
  

这对我有用。我尝试了其他几种方法,但似乎是更好的解决方案。