Yii CGridView CButtonColumn, 自定义按钮之二
2014-06-27 10:25
369 查看
如何将CButtonColumn中的Label和imageUrl根据行数据的状态的不同展示不同的数据呢 例如CGridView的行数据中包含锁定状态,在已经锁定的状态下显示解锁图片,在未锁定的状态下显示锁定的状态 步骤一: 创建一个CButtonColumn的子类 Yii::import(‘zii.widgets.grid.CButtonColumn’); class ExprButtonColumn extends CButtonColumn { protected function renderButton($id, $button, $row, $data) { if (isset($button['label']) && strpos($button['label'], ‘$’) > -1) { $button['label']= $this->evaluateExpression($button['label'],array(‘data’=>$data,’row’=>$row)); } if (isset($button['imageUrl']) && strpos($button['imageUrl'], ‘$’) > -1) { $button['imageUrl']= $this->evaluateExpression($button['imageUrl'],array(‘data’=>$data,’row’=>$row)); } parent::renderButton($id, $button, $row, $data); } } 步骤二: 在模板中使用新类进行配置 array( ‘class’=>’ExprButtonColumn’, ‘template’=>’{view}{lock}’, ‘buttons’=>array( ‘view’=>array( ‘label’=>’view project’, ‘url’=>’Yii::app()->controller->createUrl(“project/view”,array(“qid”=>$data->id))’, ), ‘lock’=>array( ‘label’=>’$data->lock_flag == “1″ ? “Unlock The Project” : “Lock The Project”‘, ‘imageUrl’=>’Yii::app()->request->baseUrl.”/images/”.($data->lock_flag == “1″ ? “unlock.gif” : “lock.gif”)’, ‘url’=>’Yii::app()->controller->createUrl(“project/lock”,array(“qid”=>$data->id))’, ), ), ),
相关文章推荐
- Yii CGridView CButtonColumn, ajax 自定义按钮之三
- Yii CGridView CButtonColumn, ajax 自定义按钮之三
- Yii CGridView CButtonColumn, 自定义按钮之一
- 使用CButtonColumn自定义CGridiew里面的按钮
- Yii 1.1: Using CButtonColumn to customize buttons in CGridView Follow @yiiframework
- 使用CButtonColumn自定义CGridiew里面的按钮
- 自定义 Yii CGridView Column 的显示
- 使用CButtonColumn自定义CGridiew里面的按钮
- yii CButtonColumn 按钮
- yii2.0之GridView自定义按钮和链接用法
- Yii-修改后自定义分页- 按钮使用方法(仅限zyd-yii项目)
- 关于Yii 中使用CArrayDataProvider的CGridview 没有办法去自定义列的显示的问题
- Yii视图CGridView实现操作按钮定义地址示例
- Yii-视图- CGridView操作按钮定义地址
- Yii框架里用grid.CGridView调用pager扩展不显示最后一页按钮的解决
- VC++界面编程之--自定义CButton(按钮)皮肤
- Yii框架zii.widgets.grid自定义按钮,ajax触发事件并提示
- Yii:给CGridView的某列添加操作按钮
- Yii——CDetailView,CGridView等widget中,输出Model属性或自定义,type设置实例
- YIi gridview 自定义按按钮