yii cgridview 默认的筛选如何做成选择框

效果图

参照 http://www.yiiframework.com/doc/api/1.1/CGridColumn

      http://www.yiiframework.com/doc/api/1.1/CGridView

     http://www.yiiframework.com/forum/index.php/topic/30694-cgridview-filter-dropdown-from-array/ (*)

代码

<?php
	$data = $model->search();
	$filter = Category::model()->findAll();
	$this->widget('zii.widgets.grid.CGridView', array(
	'id'=>'news-grid',
	'dataProvider' => $data,
	'filter'=>$model,
	'columns'=>array(
		'nid',
		// 'cid',
		array(
			'name' => 'cid',
			'filter' => CHtml::listData($filter, "cid", "c_name"),
            'value' => 'Category::model()->findByPk($data->cid)->c_name',
		),
		'n_title',
		array(
			'class'=>'CButtonColumn',
			//自定义删除提示
			'deleteConfirmation'=>"js:'ID为 '+$(this).parent().parent().children(':first-child').text()+' 的记录将被删除,确定删除?'",
		),
	),
)); ?>
'filter' => CHtml::listData($filter, "cid", "c_name"), 这个就是实现下拉列表的语句,我的代码因为关联了一个分类表,所以写的麻烦了一些,'value'数据也是关联了分类表里的名称,如果无需关联的话,value可以不写,yii默认会显示数据库里的数据.
P.S 我发现了一个问是,也不知道是否yii的bug,比如
'value' => 'Category::model()->findByPk($data->cid)->c_name',  这里我在关联的时候,如果findByPk传进的是空的话,那么yii会返回一个不是对象的错误提示,其实如果是空的话,可以提示的更友好一些,记录一下,方便查看 :)

转载于:https://www.cnblogs.com/debmzhang/p/3405112.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值