gpt4 book ai didi

php - CGridView 自定义列过滤器

转载 作者:可可西里 更新时间:2023-11-01 13:37:12 26 4
gpt4 key购买 nike

问:如何为我的 gridview 创建过滤器?

状态:客户姓名 = first_name。姓氏

这是我的 GridView

<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'customer-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
array(
'header'=>'Customer Name',
'name'=>'$data->first_name',
'value'=>'$data->first_name.\' \'.$data->last_name',
),
'company_name',
'country',
'state',
'city',
'address1',
'phone1',
'email',
array('name' => 'company_id',
'value'=>'$data->companies->name',
'filter'=>CHtml::listData($records, 'id', 'name'),
),
array(
'class'=>'CButtonColumn',
),
),
)); ?>

最佳答案

在模型中创建一个变量

class Customer extends CActiveRecord
{
public $customer_name;
public function search()
{
$criteria->compare('CONCAT(first_name, \' \', last_name)',$this->customer_name,true);
}
}

在 View 中

<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'customer-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
array(
'name'=>'customer_name',
'value'=>'ucwords($data->first_name.\' \'.$data->last_name)',
),
'company_name',
'country',
'state',
'city',
'address1',
'phone1',
'email',
array(
'class'=>'CButtonColumn',
),
),
)); ?>

并且不要忘记在模型的 rules() 方法中将新属性声明为“安全”,否则您的输入将不会被考虑

public function rules()
{
return array(
/* ... */
array('customer_name', 'safe', 'on'=>'search'),
);
}

关于php - CGridView 自定义列过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11844844/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com