Php Yii CGridView使用大于/小于运算符搜索
我试图找到一种方法,在包含整数值的列中使用大于/小于运算符过滤CGridView结果。 我可以使用“过滤器”参数吗?还是需要在模型文件中创建新方法Php Yii CGridView使用大于/小于运算符搜索,php,yii,Php,Yii,我试图找到一种方法,在包含整数值的列中使用大于/小于运算符过滤CGridView结果。 我可以使用“过滤器”参数吗?还是需要在模型文件中创建新方法 $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'event-grid', 'dataProvider'=>$model->search(), 'filter'=>$model, 'columns' => array(
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'event-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns' => array(
array(
'name'=>'score_d_min',
'header'=>'D',
'value'=>'$data->score_d_min',
'filter'=> , // not really sure what to put in here
),
),
));
您可以通过以下步骤实现此目标: 1-向模型中添加两个属性
public $compare; //compare value
public $compareOp; //compare operator, for example [>,<,>=,<=]
3-在您的GridView
中添加以下列
array(
'name'=>'score_d_min',
'header'=>'d',
'value'=>'$data->score_d_min',
'filter'=> CHtml::dropDownList('User[compareOp]', $model->compareOp,
array('>'=>'>','<'=>'<','>='=>'>=','<='=>'<=','='=>'='),array('style'=>'width:50px;')) .
CHtml::textField('User[compare]',$model->compare,array('style'=>'width:100px;'))
),
现在,您有如下内容(图片看起来与您的不同,因为我正在测试用户表上测试它):
在图片中,它比较所需的列,如:
column >= 2
结果(在我的机器中,我有3个用户id为(1,2,3),因此它只显示id为2,3的用户):
或:
注意事项:
- 我为
,
,=
$criteria->compare('score_d_min', $this->compareOp .$this->compare);
column >= 2