>  기사  >  백엔드 개발  >  Yii Framework 开发教程Zii组件-GridView示例_PHP教程

Yii Framework 开发教程Zii组件-GridView示例_PHP教程

WBOY
WBOY원래의
2016-07-14 10:07:43842검색

CGridView 以表格的形式显示数据,CGridView 也支持分页和排序,CGridView最基本的用法和ListView类型,也是通过设置 data provider,通常是CActiveDataProvider。

 
修改上个例子Yii Framework 开发教程(31) Zii组件-DetailView 示例,把ListView该为GridView:
 
 
[php]  
widget('zii.widgets.grid.CGridView', array(  
    'dataProvider'=>$dataProvider,  
    'ajaxUpdate'=>false,  
    'template'=>'{pager}{summary}{items}{pager}',  
  
)); ?>  
 
widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'ajaxUpdate'=>false,
'template'=>'{pager}{summary}{items}{pager}',
 
)); ?>
 
 
 
显示结果如下:
201212128006
可以看到GridView缺省显示了所有的字段,并使用缺省的格式显示字段,如果需要控制字段显示和格式,可以通过配置 CGridView::columns属性来实现。GridView的每列为一个CGridColumn对象:
201212128007
 
CGridColumn为所有Grid 列表项的基类,表格的每例可以有一个表头,多个数据单元,和一个可选的表尾单元格。
CButtonColumn 表示该单元格为一个或多个按钮,缺省显示三个按钮, “view”, “update” 和”delete”,可以通过设置 buttons 和 template来更改。
CCheckBoxColumn 表示该单元格为Checkbox,支持只读,单选或多选,通过配置selectableRows来修改
CDataColumn 表示该单元为数据或是表达式,通过配置name或value,前者表示数据模型的属性名称,后者代码一个PHP表达式。
CLinkColumn 表示一个超链接,通过配置 label , url或 imageUrl来设置链接。
重新定义GridView的columns属性如下:
 
[php]  
widget('zii.widgets.grid.CGridView', array(  
    'id'=>'person-grid',  
    'dataProvider'=>$dataProvider,  
    'htmlOptions'=>array('style'=>'width:740px'),  
    'pager'=>array(  
                'maxButtonCount'=>'7',  
                ),  
            'columns'=>array(  
  
                array(  
                    'header'=>'Name',  
                    'type'=>'raw',  
                    'value'=>'CHtml::link($data->FirstName .  
                     " " . $data->LastName,  
                     $this->grid->controller->createUrl  
                    ("view",array("CustomerId"=>$data->CustomerId)))',  
  
                    ),  
  
                'Company',  
  
                array(  
                    'class'=>'CLinkColumn',  
                    'header'=>'Email',  
                    'imageUrl'=>'images/email.png',  
                    'labelExpression'=>'$data->Email',  
                    'urlExpression'=>'"mailto://".$data->Email',  
                    'htmlOptions'=>array('style'=>'text-align:center'),  
                    ),  
                array(  
                    'class'=>'CButtonColumn',  
                    'deleteConfirmation'=>'Are you sure to delete this item?',  
                    ),  
                ),  
  
));  
?>  
 
widget('zii.widgets.grid.CGridView', array(
'id'=>'person-grid',
'dataProvider'=>$dataProvider,
'htmlOptions'=>array('style'=>'width:740px'),
'pager'=>array(
'maxButtonCount'=>'7',
),
'columns'=>array(
 
array(
'header'=>'Name',
'type'=>'raw',
'value'=>'CHtml::link($data->FirstName .
" " . $data->LastName,
$this->grid->controller->createUrl
("view",array("CustomerId"=>$data->CustomerId)))',
 
),
 
'Company',
 
array(
'class'=>'CLinkColumn',
'header'=>'Email',
'imageUrl'=>'images/email.png',
'labelExpression'=>'$data->Email',
'urlExpression'=>'"mailto://".$data->Email',
'htmlOptions'=>array('style'=>'text-align:center'),
),
array(
'class'=>'CButtonColumn',
'deleteConfirmation'=>'Are you sure to delete this item?',
),
),
 
));
?>
 
显示如下:
201212128008
点击姓名可以显示DetailView。 ButtonColumn 的update,search,delete没有添加对应的view ,就留给你自己加上了。
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477835.htmlTechArticleCGridView 以表格的形式显示数据,CGridView 也支持分页和排序,CGridView最基本的用法和ListView类型,也是通过设置 data provider,通常是CActiveDat...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.