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);}',
// ),
// ),
// ),
),
)); ?>
实例代码如下:
<?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);}',
// ),
// ),
// ),
),
)); ?>
相关文章推荐
- Yii框架中CGridView的使用方法以及详细示例
- Yii框架中CGridView的使用方法以及详细示例
- Yii框架中CGridView的使用方法以及详细示例
- yii框架使用query方法,相关的limit和多条件和orderby等 啥都有
- 关于后盾网yii框架的学习小结(7)--session的使用和redirect等的方法的使用
- 详解在PHP的Yii框架中使用行为Behaviors的方法
- 详解在PHP的Yii框架中使用行为Behaviors的方法
- 详解在PHP的Yii框架中使用行为Behaviors的方法
- yii框架builder、update、delete使用方法
- 使用Composer安装Yii框架的方法
- YII框架中使用memcache的方法详解
- PHP的Yii框架使用中的一些错误解决方法与建议
- Yii框架扩展CGridView增加导出CSV功能的方法
- PHP 基于Yii框架中使用smarty模板的方法详解
- Yii框架 Cookie的使用方法详解
- PHP的Yii框架使用中的一些错误解决方法与建议
- yii框架中findall方法取数据使用总结,包括select各种条件,where条件,order by条件,limit限制等
- YII框架的依赖注入容器DI使用方法-实例说明
- Yii框架自带缓存的使用方法
- yii框架中findall方法取数据使用总结,包括select各种条件,where条件,order by条件,limit限制以及使用单纯sql语句query时占位符的使用等