- 1 第一个应用 Hello World
- 2 Yii Web 应用基础
- 3 为应用添加日志
- 4 Hangman 猜单词游戏实例
- 5 URL 管理
- 6 CComponent 组件
- 7 使用 CHtml 创建 Form
- 8 使用 FormModel
- 9 UI 组件 Widget 概述
- 10 UI 组件 自定义组件
- 11 UI 组件 ActiveForm 示例
- 12 UI 组件 ClipWidget 示例
- 13 UI 组件 ContentDecorator 示例
- 14 UI 组件 MaskedTextField 示例
- 15 UI 组件 MultiFileUpload 示例
- 16 UI 组件 StarRating 示例
- 17 UI 组件 TabView 示例
- 18 UI 组件 TextHighlighter 示例
- 19 UI 组件 TreeView 示例
- 20 UI 组件 Captcha 示例
- 21 UI 组件 自定义 Captcha 示例
- 22 UI 组件 Zii 组件简介
- 23 数据库-概述
- 24 数据库-DAO 示例
- 25 数据库-Query Builder 示例
- 26 数据库-Active Record 示例
- 27 数据库-关联 Active Record 示例
- 28 Data Provider 简介
- 29 Zii 组件-Menu 示例
- 30 Zii 组件-ListView 示例
- 31 Zii 组件-DetailView 示例
- 32 Zii 组件-GridView 示例
- 33 Zii 组件-Accordion 示例
- 34 Zii 组件-AutoComplete 示例
- 35 Zii 组件-Button 示例
- 36 Zii 组件-DatePicker 示例
- 37 Zii 组件-Dialog 示例
- 38 Zii 组件-ProgressBar 示例
- 39 Zii 组件-Slider 示例
- 40 Zii 组件-SliderInput 示例
- 41 Zii 组件-Tabs 示例
- 42 Zii 组件-Draggable 示例
- 43 Zii 组件-Droppable 示例
- 44 Zii 组件-Resizable 示例
- 45 Zii 组件-Selectable 示例
- 46 Zii 组件-Sortable 示例
- 47 主题 Theme 示例
- 48 多国语言示例
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
32 Zii 组件-GridView 示例
CGridView 以表格的形式显示数据,CGridView 也支持分页和排序,CGridView 最基本的用法和 ListView 类型,也是通过设置 data provider ,通常是 CActiveDataProvider 。
修改上个例子 Yii Framework 开发教程(31) Zii 组件-DetailView 示例 ,把 ListView 该为 GridView:
<?php $this->widget('zii.widgets.grid.CGridView', array( 'dataProvider'=>$dataProvider, 'ajaxUpdate'=>false, 'template'=>'{pager}{summary}{items}{pager}', )); ?>
显示结果如下:
图片 32.1 picture32.1
可以看到 GridView 预设显示了所有的栏位,并使用预设的格式显示栏位,如果需要控制栏位显示和格式,可以通过配置 CGridView::columns 属性来实现。GridView 的每列为一个 CGridColumn 对象:
图片 32.2 picture32.2
- CGridColumn 为所有 Grid 列表项的基类,表格的每例可以有一个表头,多个数据单元,和一个可选的表尾单元格。
- CButtonColumn 表示该单元格为一个或多个按钮,预设显示三个按钮, “view”, “update” 和”delete”,可以通过设置 buttons 和 template 来更改。
- CCheckBoxColumn 表示该单元格为 Checkbox,支持只读,单选或多选,通过配置 selectableRows 来修改
- CDataColumn 表示该单元为数据或是表达式,通过配置 name 或 value ,前者表示数据模型的属性名称,后者代码一个 PHP 表达式。
- CLinkColumn 表示一个超链接,通过配置 label , url 或 imageUrl 来设置链接。
重新定义 GridView 的 columns 属性如下:
<?php $this->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?', ), ), )); ?>
显示如下:
图片 32.3 picture32.3
点击姓名可以显示 DetailView。 ButtonColumn 的 update,search,delete 没有添加对应的 view ,就留给你自己加上了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论