Yii2. GridView. Filter: настройка, примеры
Разбираемся в том, как настроить внешний вид полей фильтра в GridView. За документацией идем в класс DataColumn.
В этом классе есть целых 3 замечательных свойства для настройки фильтрации по полю:
О том, как вывести в поле фильтра выпадающий список или использовать плагин, читать в посте Yii2. GridView. Filter: выпадающие списки, datepicker
В этом классе есть целых 3 замечательных свойства для настройки фильтрации по полю:
$filter | string|array|null|false – HTML-код поля фильтра (поле ввода, выпадающий список и т.д.) |
---|---|
$filterInputOptions | массив html-опций поля фильтра |
$filterOptions | массив html-опций ячейки |
Не выводится фильтр?
А вы ничего не забыли?GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
...
Вывод фильтра по умолчанию
Для того, чтобы вывести фильтр по умолчанию и делать-то ничего не нужно или же:[
'attribute' => 'id',
'filter' => null
],
Как скрыть (отключить) фильтр для поля
[
'attribute' => 'id',
'filter' => false
],
Как задать ячейке с фильтром ширину
[
'attribute' => 'id',
'filterOptions' => ['style' => 'width: 100px']
],
Как добавить ячейке с фильтром css-класс
[
'attribute' => 'id',
'filterOptions' => ['class' => 'filter-cell']
],
Как добавить полю с фильтром css-класс
Аналогичным образом, только используем свойство filterInputOptions. Также здесь прописываем любые html-атрибуты (style, data- и т.д.)[
'attribute' => 'id',
'filterInputOptions' => ['class' => 'filter-cell']
],
О том, как вывести в поле фильтра выпадающий список или использовать плагин, читать в посте Yii2. GridView. Filter: выпадающие списки, datepicker
Спасибо за полезную инфу!
ОтветитьУдалитьОна помогла мне решить мою задачу
ОтветитьУдалитьРада, что что-то из моих заметок оказалось полезным )
УдалитьКак добавить в фильтр checkbox для вывода уникальных значений по полю?
ОтветитьУдалитьВам нужно посмотреть пример с использованием activeDropDownList в этом посте https://progergirl.blogspot.com/2018/04/yii2-gridview-filter-datepicker.html
УдалитьИ добавить в выборку нужное условие для получения уникальных значений
Спасибо. Искал, как задать ширину фильтра в GridView и хер где нашел. А у вас тут сразу - filterInputOptions, и всё готово :)
ОтветитьУдалитьСпасибо за блог, все супер!
ОтветитьУдалитьВопрос: 2 грида на таблице, проблема с фильтрацией, как настроить на одну модель поиска, но разные методы. У пагинации и сортировки есть sortParam и pageParam, делающий каждую таблицу уникальной для данной операции, но как это сделать для фильтрации, а то фильтр отрабатывает одновременно в 2-ух :(
Есть решение, чтобы не плодить модели поиска?
Не понимаю, в чем у вас проблема. 2 грида на одной странице работают с одной моделью и при этом некорректно работают?
УдалитьЗдравствуйте, не подскажите как добавить календарь в фильтр?
ОтветитьУдалитьПример есть тут https://progergirl.blogspot.com/2018/04/yii2-gridview-filter-datepicker.html
Удалить