您的位置:首页 > 编程语言 > PHP开发

Yii框架中CGridView的使用方法

2014-04-21 17:09 976 查看
只多说一句,yii中严格的命名规范一定要遵守,要不然满头都是包.

实例代码如下:
<?php $this->widget('zii.widgets.grid.CGridView', array(

'id'=>'microshop-grid',

'dataProvider'=>$model->search(), //数据结果集

'filter'=>$model,

'columns'=>array(

'id',

//锚点
<a href="http://www.aaa.com/"></a>
//链接

array(

'name'=>'name',

'type'=>'raw',

'value'=>'CHtml::link($data->name,"index.php?r=micro/index&uid=$data->uid",array("target"=>"_blank","class"=>"test"))',

),

//图片

array(

'name'=>'image',

'type'=>'image',

'value'=>'LImages::getPath("micro").$data->image',//图片相对路径

),

//下拉列表

array(

'name'=>'type',

'value'=>'convert($data->type)',

'filter'=>CHtml::dropDownList('price_verify[type]', $model->type,

price_verify::model()->getTypeStatesArray()

),

),

//内容截取

array(

'name'=>'content',

'type'=>'html',

'value'=>'mb_substr(htmlspecialchars_decode($data->content),0,100,"utf-8")',

),

//时间

array(

'name'=>'create_time',

'type'=>'datetime',

),

//读数据库

array(

'name'=>'nick',

'value'=>'Micro::model()->findbyPk($data->uid)->nick',

'filter'=>false,

),

array(

'class'=>'CButtonColumn',

),

),

)); ?>

一个应用中的列子:
<?php

function convert($data,$id)

{

$state = array(price_verify::TYPE_USER=>'用户修改',price_verify::TYPE_ADMIN=>'管理员修改',price_verify::TYPE_SYSTEM=>'系统抓取');

return '<div id="type_'.$id.'">'.$state[$data].'</div>';

}

$this->widget('zii.widgets.grid.CGridView', array(

'id'=>'price-verify-grid',

'dataProvider'=>$model->search(),

'filter'=>$model,

'columns'=>array(

//'price_verify_id',

//下拉列表

array(

'name'=>'type',

'type'=>'raw',

//'value'=>'"<div id=type_$data->price_verify_id>"'+convert($data->type)+'"</div>"',

'value'=>'convert($data->type,$data->price_verify_id)',

'filter'=>CHtml::dropDownList('price_verify[type]', $model->type,

price_verify::model()->getTypeStatesArray()

),

),
//时间

array(

'name'=>'_intm',

'value'=>'Yii::app()->dateFormatter->format("yyyy-MM-dd HH:mm",strtotime($data->_intm))',

),

array(

'name'=>'frequency',

'type'=>'raw',

'value'=>'"<div id=frequency_$data->price_verify_id>$data->frequency 次</div>"',

),
//链接

array(

'name'=>'title',

'type'=>'raw',

'value'=>'CHtml::link($data->title,$data->url,array())',

),

array(

'name' => 'price',

'value' => '"<input type=hidden id=price_$data->price_verify_id value=$data->price />¥<input type=text size=8 value=$data->price onblur=update($data->price_verify_id,this.value); />"',

'type'=>'raw',

),
//操作,未使用CButtonColumn,原因click中不能传递php 参数,没有找到解决方法

array(

'header'=>'操作',

'type'=>'raw',

'value'=>'"<a href=# title=清空纠错 onclick=clearfrequency($data->price_verify_id)><img src=images/clear.gif /></a>"',

//'value'=>'CHtml::link("清零","javascript:void(0);",array("onclick"=>"clearprice($data->price_verify_id);"))',

),

// array(

// 'header'=>'操作',

// 'class' =>'CButtonColumn',

// 'template'=>'{clear}',

// 'buttons' =>array (

// 'clear' => array (

// 'label'=>'清空纠错',

// 'url'=>'"#"',

// 'imageUrl'=>Yii::app()->request->baseUrl.'/images/clear.gif',

// 'visible'=>'$data->frequency > 0',

// 'click'=>'function(){clear($data->price_verify_id);}',

// ),

// ),

// ),

),

)); ?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: