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

How to disable initial Ordering of data in Angular Datatables?

我正在使用 angular 个数据表,但我只有一列。

我绑定的时候,数据是按升序排列的,而我想按接收到的顺序显示。

有人可以帮忙吗。

控制器:

        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>

再看order,原名aaSorting。添加

.withOption('order', [])

给你的dtOptions。 order的默认值为[[0, 'asc']],设置为[]将防止dataTables在初始化后对第一列进行初始排序。

Resolved

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

This worked for me. I tried several other ways, but thus seems to be the better solution.

试试这个

  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
    }
  }