gridView значение по умолчанию

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
makbeth
Сообщения: 55
Зарегистрирован: 2014.01.06, 11:27

gridView значение по умолчанию

Сообщение makbeth »

Всем доброго дня! В общем появилась потребность перед выводом gridview подставлять в инпут фильтра значение по умолчанию (например "100"), чтобы пользователь при загрузке страницы видел отфильтрованную таблицу по этому значению. Так же пользователь должен иметь возможность ввести в этот инпут любое другое значение и отфильтровать по нему. Может кто знает как реализовать?

Еще момент: было бы здорово увидеть решение для двух ситуаций. 1) это значение по умолчанию нужно отображать в самом инпуте. 2) Значение по умолчанию в инпуте не отображать.

Заранее сильно благодарю за ответы.
Аватара пользователя
vitalik1183
Сообщения: 1675
Зарегистрирован: 2014.07.01, 08:42

Re: gridView значение по умолчанию

Сообщение vitalik1183 »

Атрибут value уже не в моде? :)
Yii2!
makbeth
Сообщения: 55
Зарегистрирован: 2014.01.06, 11:27

Re: gridView значение по умолчанию

Сообщение makbeth »

Поясните, пожалуйста по поводу value. Если писать что-то вроде этого

Код: Выделить всё

'columns'=>[
 'value' => function(){return '<input type="text" value="100" >';},
]
То это не сработает. Значение value попадет в виде текста во все ячейки.

Если делать вот так:

Код: Выделить всё

'filter' => '<input type="text" value="100" >',
, то в инпуте появляется значенеи 100, но фильтр не применяется и ничего не получается искать даже изменив значение.
Последний раз редактировалось makbeth 2014.12.03, 15:57, всего редактировалось 1 раз.
Аватара пользователя
vitalik1183
Сообщения: 1675
Зарегистрирован: 2014.07.01, 08:42

Re: gridView значение по умолчанию

Сообщение vitalik1183 »

Код: Выделить всё

 value="<0" > 
мм?
Yii2!
makbeth
Сообщения: 55
Зарегистрирован: 2014.01.06, 11:27

Re: gridView значение по умолчанию

Сообщение makbeth »

Описочка). Если 100 будет, то тоже не работает.
Аватара пользователя
vitalik1183
Сообщения: 1675
Зарегистрирован: 2014.07.01, 08:42

Re: gridView значение по умолчанию

Сообщение vitalik1183 »

Покажите код вывода.
Yii2!
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: gridView значение по умолчанию

Сообщение futbolim »

makbeth писал(а):Всем доброго дня! В общем появилась потребность перед выводом gridview подставлять в инпут фильтра значение по умолчанию (например "100"), чтобы пользователь при загрузке страницы видел отфильтрованную таблицу по этому значению. Так же пользователь должен иметь возможность ввести в этот инпут любое другое значение и отфильтровать по нему. Может кто знает как реализовать?

Еще момент: было бы здорово увидеть решение для двух ситуаций. 1) это значение по умолчанию нужно отображать в самом инпуте. 2) Значение по умолчанию в инпуте не отображать.

Заранее сильно благодарю за ответы.
Присвойте атрибуту значение в Search модели.
Например, если есть $user->sort, будет примерно так:

Код: Выделить всё

class UserSearch extends User {
    public $sort = 100; // но тогда значение 100 будет везде в течение жизни объекта.
}
 
makbeth
Сообщения: 55
Зарегистрирован: 2014.01.06, 11:27

Re: gridView значение по умолчанию

Сообщение makbeth »

futbolim писал(а): Присвойте атрибуту значение в Search модели.
Например, если есть $user->sort, будет примерно так:

Код: Выделить всё

class UserSearch extends User {
    public $sort = 100; // но тогда значение 100 будет везде в течение жизни объекта.
}
 
Вполне подходит. Спасибо.
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: gridView значение по умолчанию

Сообщение anton44eg »

makbeth писал(а):
futbolim писал(а): Присвойте атрибуту значение в Search модели.
Например, если есть $user->sort, будет примерно так:

Код: Выделить всё

class UserSearch extends User {
    public $sort = 100; // но тогда значение 100 будет везде в течение жизни объекта.
}
Вполне подходит. Спасибо.
Оффтоп.

- Как вы хотите отсортировать?
- 100
Ответить