> php教程 > php手册 > 본문

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

WBOY
풀어 주다: 2016-06-13 10:54:06
원래의
918명이 탐색했습니다.

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}',

 

)); ?>

 

 

 

显示结果如下:

可以看到GridView缺省显示了所有的字段,并使用缺省的格式显示字段,如果需要控制字段显示和格式,可以通过配置 CGridView::columns属性来实现。GridView的每列为一个CGridColumn对象:

 

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?',

),

),

 

));

?>

 

显示如下:

点击姓名可以显示DetailView。 ButtonColumn 的update,search,delete没有添加对应的view ,就留给你自己加上了。

 

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!