2013-07-24 2 views
2

Я новичок в Yii framework. Теперь на странице администратора я получаю gridview данных. У меня есть столбец с именем, утвержденным в gridview, который имеет значение 0 или 1. Теперь я хочу ввести два переключателя 0 и 1, которые фильтруют результаты с 0 и 1 соответственно и отображают его. Как я могу создавать фильтры с радиокнопокКак создать фильтры с переключателями в yii

ответ

1

Вы можете сделать свой фильтр в значительной степени что-нибудь:

'columns'=>array(
    array(
     'name' => 'approved', 
     'filter' => CHtml::radioButton(...) . CHtml::radioButton(...), 
    ), 
), 

Но если вы хотите, чтобы держать вещи просто, кормить массив в фильтр.

'columns'=>array(
    array(
     'name' => 'approved', 
     'filter' => ['0','1'], 
    ), 
), 

Он будет генерировать раскрывающийся-список (к сожалению, нет автоматических радиокнопки), но это очень функциональный, я клянусь!

Если вы хотите варианты текста предоставить им так:

'filter' => ['1'=>'On', '0'=>'Off'], 

Кроме того, Yii будет автоматически генерировать фильтр для вас, если вы установите тип в булев

'columns'=>array(
    array(
     'name' => 'approved', 
     'type' => 'boolean' 
    ), 
) 

И, наконец, есть даже ярлык для установки типа:

'columns'=>array(
    'approved:boolean', 
) 

Я знаю, слишком ма ny выпадающих меню и слишком мало радиоблок. Сожалею.

1

Для радиокнопок изменить ваш _search.php так:

<div class="row"> 
    <?php echo $form->labelEx($model, 'isPublished'); ?> 
    <?php echo $form->radioButtonList($model, 'isPublished', 
     array('1' => 'Yes', '0' => 'No') 
    ); ?> 
    <?php echo $form->error($model, 'isPublished'); ?> 
</div> 

Убедитесь функция поиска вашей модели уже эту работу:

$criteria->compare('isPublished', $this->isPublished); 

Кроме того, убедитесь, что это атрибут определяется как safe в правилах модели.

Смежные вопросы