5

我正在尝试在特定列上设置搜索禁用。我使用这个角度数据表服务器端。

https://l-lin.github.io/angular-datatables

通常在 jquery 上我可以:

 columns:[{data:"foo", name:"foo", searchable:false}]

我试过使用:

   $scope.dtOptions = DTOptionsBuilder.newOptions()
            .withOption('ajax', {
                url: apiRoot + 'merchant-list'
            })
            .withDataProp('data')
            .withOption('serverSide', true)
            .withOption('order', [0, 'asc'])

  $scope.dtColumns = [
            DTColumnBuilder.newColumn('name', 'Name'),
            DTColumnBuilder.newColumn('type', 'Type'),
            DTColumnBuilder.newColumn('username', 'Username'),
 ]

 $scope.dtColumnDefs = [
            DTColumnDefBuilder.newColumnDef(0),
            DTColumnDefBuilder.newColumnDef(1).withOption('searchable', false),
            DTColumnDefBuilder.newColumnDef(2).withOption('searchable', false)
        ]

似乎有效,但是 columnDef 的位置不正确。当我将 newColumnDef(1) searchable 设置为 false 时,不被搜索的列应该是第二个,但显然它禁用了第一列。

有没有办法让它禁用搜索特定列并对其进行排序?

谢谢

编辑:我已经尝试过'orderable',false 并且 notvisible 正在处理 columnDef 0。看起来只有可搜索是失败的。

4

2 回答 2

7
$scope.dtOptions = {searching:false}

将适用于最新的角度版本。

于 2016-08-05T10:37:39.730 回答
7

DTColumnBuilder和项都DTColumnDefBuilder必须在数组中声明:

$scope.dtColumns = [
   DTColumnBuilder.newColumn('name', 'Name').withOption('searchable', false)
   ...
]

然后它起作用了-> http://plnkr.co/edit/OOikiBKdLE8R1UEXLyMH?p=preview

或者

$scope.dtColumnDefs = [
   DTColumnDefBuilder.newColumnDef('name', 'Name').withOption('searchable', false)
];
于 2015-09-23T11:49:57.350 回答