Checkbox фильтр вне CGridView

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

Checkbox фильтр вне CGridView

Сообщение KUb »

Доброго времени суток.
Помогите пожалуйста реализовать в стандартном представлении admin.php checkbox 'isdelete' вне виджета, по выбору которого отображались бы только записи с положительным значением и обратно.
Уверен, задача тривиальная, но меня и гугл поставила в тупик.
kawabanga
Сообщения: 806
Зарегистрирован: 2013.10.12, 23:35
Откуда: Новосибирск

Re: Checkbox фильтр вне CGridView

Сообщение kawabanga »

посмотрите код контроллера admin (или manage? не помню) .

У вас там выборка данных в cactivedataprovider. а перед ней выборка модели, что то типа
$model = Post::model()->findAll();

так вот, вам нужно добавить критерий сюда по выборке, например, запросить данные вот так:

$model - Post::model()->FindAllByAttributes(array('ischecked' => 'true'));
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Checkbox фильтр вне CGridView

Сообщение SiZE »

CGridView ведь генерирует фильтры для каждой колонки, сделай по аналогии отдельный элемент.
KUb
Сообщения: 2
Зарегистрирован: 2014.06.19, 20:51

Re: Checkbox фильтр вне CGridView

Сообщение KUb »

Говорю о нечто подобном, но реализацию не представляю:

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

echo CHtml::checkBox('isdelete',array('id'=>'activecheckbox-isdelete','checked'=>$model->searchIndex()->criteria->params[':ycp2']))

Yii::app()->clientScript->registerScript('filter', "
$('#activecheckbox-isdelete').click(function()
{
    $.fn.yiiGridView.update('user-grid', {
        - ? ? ? -
        },
    return false;
});
 "); 

$this->widget('zii.widgets.grid.CGridView',array(
    'id'=>'user-grid',
    'dataProvider'=>$model->searchIndex(),
    'filter'=>$model)); 
NEW_NAME
Сообщения: 216
Зарегистрирован: 2013.07.15, 09:52

Re: Checkbox фильтр вне CGridView

Сообщение NEW_NAME »

Мне кажется можно так:
1. Сделать фильтр для данного поля чекбоксом. Вроде это можно, тут по-крайней мере про хтмл код сказано: http://www.yiiframework.com/doc/api/1.1 ... ter-detail
2. Связать внешний чекбокс с чекбоксом из гридвью с помощью js.
3. ??????????????
4. PROFIT!!!
NEW_NAME
Сообщения: 216
Зарегистрирован: 2013.07.15, 09:52

Re: Checkbox фильтр вне CGridView

Сообщение NEW_NAME »

Если интересует через плагин гридвью то, там вроде ничего сложного:
$.fn.yiiGridView.update(id, {
data: myData,
});

id - айди нужного тебе гридвью
myData - аналог того, что получается после serialize формы с фильтрами
Ответить