我正在尝试在特定列上设置搜索禁用。 我使用这个角度数据服务器端。
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)搜索为false时,不应该搜索的列应该是第二列,但显然它会禁用第一列。
有没有办法让它禁用搜索特定列并订购它?
由于
编辑: 我试过'orderable',false和notvisible正在使用columnDef 0.看起来只有可搜索的是失败。
答案 0 :(得分: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)
];
答案 1 :(得分:4)
$scope.dtOptions = {searching:false}
可以使用最新的角度版本。