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
Удалить