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

php教程评论215 views阅读模式

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}', )); ?> 显示结果如下:
Yii Framework 开发教程Zii组件-GridView示例_PHP教程 可以看到GridView缺省显示了所有的字段,并使用缺省的格式显示字段,如果需要控制字段显示和格式,可以通过配置 CGridView::columns属性来实现。GridView的每列为一个CGridColumn对象:
Yii Framework 开发教程Zii组件-GridView示例_PHP教程 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 ,就留给你自己加上了。

企鹅博客
  • 本文由 发表于 2019年9月21日 20:04:12
  • 转载请务必保留本文链接:https://www.qieseo.com/305558.html

发表评论