Angular Datatable Set Доступный для поиска False

Я пытаюсь отключить поиск в определенном столбце. Я использую эту угловую серверную часть с данными.

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, столбец, который не будет использоваться для поиска, должен быть вторым, но, по-видимому, он отключает первый столбец.

Есть ли способ отключить поиск определенного столбца и заказать его?

Спасибо

Редактировать: я пробовал «упорядочиваемый», ложный и невидимый работает с columnDef 0. Похоже, что только поиск не работает.


person ssuhat    schedule 23.09.2015    source источник


Ответы (2)


Оба элемента DTColumnBuilder и DTColumnDefBuilder должны быть объявлены внутри массива:

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

И тогда это работает -> http://plnkr.co/edit/OOikiBKdLE8R1UEXLyMH?p=preview

or

$scope.dtColumnDefs = [
   DTColumnDefBuilder.newColumnDef('name', 'Name').withOption('searchable', false)
];
person davidkonrad    schedule 23.09.2015
comment
Привет, спасибо за ответ. notSortable предназначен только для отключения сортировки. Я хочу отключить поиск для определенного столбца, как в моем объяснении выше. - person ssuhat; 23.09.2015
comment
@sstarlight, обновил ответ. Я действительно не знаю, почему я думал о сортируемом и недоступном для поиска. - person davidkonrad; 23.09.2015
comment
Привет. Спасибо за ответ. похоже, я заставляю его работать с помощью columndef, но с отдельным dtcolumn. иногда он не работает, он все еще пытается найти данные. :| похоже, я собираюсь заменить его и вместо этого использовать jquery для данных. выглядит намного проще в обращении, чем угловой. Спасибо, бро - person ssuhat; 25.09.2015
comment
Привет, @sstarlight. Я задал вопрос автору на github, он ответил через 15 минут: Ваш $scope.dtColumnDefs должен быть массивом. См. исправленный plnkr. (это plnkr.co/edit/YIEO1kww7njo5G5I03eV?p=preview) мы подошли ближе к этому :) в примере используется ColumnDefs. - person davidkonrad; 25.09.2015
comment
Привет, спасибо, что помогли мне опубликовать его, автор github. Я обновил свой ответ выше. и я все еще пытаюсь решить это. Похоже, проблема заключается в использовании серверной части. - person ssuhat; 25.09.2015
comment
Я пробовал 'orderable', false и notvisible работает с columnDef 0. Похоже, что только поиск не работает. - person ssuhat; 25.09.2015
comment
Я уверен, что вы делаете это в неправильном порядке. Вся идея с columnDefs заключается в том, что вам не нужно объявлять все столбцы снова и снова. - person davidkonrad; 25.09.2015
comment
Привет да. но, как я знаю, columndefs будет читать цель, даже если я объявлю все это - person ssuhat; 25.09.2015

$scope.dtOptions = {searching:false}

будет отлично работать с последними угловыми версиями.

person learn2code    schedule 05.08.2016
comment
он отлично работает, но может заменить другое свойство. так что лучше после назначения некоторых 'dtOptions' просто использовать $scope.dtOptions.searching = false - person Shivam Mishra; 22.06.2017
comment
Ага ..! Конечно . Но если вы хотите установить более одного свойства. Лучшим подходом является использование нотации объекта. - person learn2code; 15.09.2017