我有一个提供者表(id,title,onoff),其中onoff列是一个状态:1 = on,0 = off我在DB中没有这些状态的表,所以我没有状态模型.
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'provider-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
array(
'name'=>'id',
'htmlOptions'=>array('width'=>'40px'),
),
'title',
array(
'name'=>'onoff',
'filter'=>CHtml::dropDownList('Provider[onoff]', '',
array(
''=>'All',
'1'=>'On',
'0'=>'Off',
)
),
),
array(
'class'=>'CButtonColumn',
'template'=>'{update}{delete}'
),
),
Run Code Online (Sandbox Code Playgroud)
它会过滤数据,但是在ajax之后忘记了下拉状态在这种情况下构建下拉列表的最佳方法是什么?
在数据网格单元格中将1替换为On和0替换为Off的最佳方法是什么?
dr0*_*0zd 21
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'provider-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
array(
'name'=>'id',
'htmlOptions'=>array('width'=>'40px'),
),
'title',
array(
'name'=>'onoff',
'value'=>'Crud::getOnoff($data->onoff)',
'filter'=>CHtml::listData(Crud::getOnoffs(), 'id', 'title'),,
),
array(
'class'=>'CButtonColumn',
'template'=>'{update}{delete}'
),
),
Run Code Online (Sandbox Code Playgroud)
在模型中
public function getOnoffs()
{
return array(
array('id'=>'1', 'title'=>'On'),
array('id'=>'0', 'title'=>'Off'),
);
}
public function getOnoff($onoff)
{
if($onoff == 1)
return 'On';
else
return 'Off';
}
Run Code Online (Sandbox Code Playgroud)
array( 'name' => 'language',
'value' => '$data->language',
'filter' => CHtml::listData( Vediodesc::model()->findall(), 'language', 'language'),
),
Run Code Online (Sandbox Code Playgroud)