CListView可以用来显示列表,CListView支持使用自定义的View模板显示列表的的记录,因此可以非常灵活的显示数据的表,这点有点像Android的ListView:-)。

CListView 支持分页和排序,分页和排序支持使用AJAX实现从而可以提高页面的响应性能。CListView的使用需要通过DataProvider,通常是使用CActiveDataProvider。

本例修改Yii Framework 开发教程(26) 数据库-Active Record示例,不过为了显示分页,我们使用Customer数据库表,每页显示10条记录。

修改缺省的视图protected/views/site/index.php,使用ListView组件。

<?php $this->widget('zii.widgets.CListView', array('dataProvider'=>$dataProvider,'ajaxUpdate'=>false,'template'=>'{sorter}{pager}{summary}{items}{pager}','itemView'=>'_view','pager'=>array('maxButtonCount'=>'7',),'sortableAttributes'=>array('FirstName','LastName','Country',),
)); ?>

参数template 配置页面显示的模板,支持的参数有 {summary}, {sorter}, {items} 和{pager},分别对应于ListView的汇总,排序,列表项,分页控制。
参数itemView 指明每个列表项对应的View显示。本例使用site/_view.php ,定义如下:

<div class="item"><h3><?php echo CHtml::encode($data->FirstName . ' ' . $data->LastName);?></h3><b><?php echo CHtml::encode($data->getAttributeLabel('Company')); ?>:</b>
<?php echo CHtml::encode($data->Company); ?>
<br /><b><?php echo CHtml::encode($data->getAttributeLabel('Address')); ?>:</b>
<?php echo Yii::app()->format->formatUrl($data->Address); ?>
<br /><b><?php echo CHtml::encode($data->getAttributeLabel('Country')); ?>:</b>
<?php echo CHtml::encode($data->Country); ?>
<br /><b><?php echo CHtml::encode($data->getAttributeLabel('Email')); ?>:</b>
<?php echo Yii::app()->format->formatEmail($data->Email); ?>
<br /></div>

然后修改SiteController的indexAction方法:

public function actionIndex()
{$dataProvider=new CActiveDataProvider('Customer', array('pagination'=>array('pageSize'=>10,'pageVar'=>'page',),'sort'=>array('defaultOrder'=>'Lastname',),));$this->render('index',array('dataProvider'=>$dataProvider,));
}

显示结果如下:

本例下载

Yii Framework 开发教程(30) Zii组件-ListView 示例相关推荐

  1. Yii Framework 开发教程(31) Zii组件-DetailView 示例

     CDetailView为某个Model显示详细内容.这个要显示的Model可以为CModel或是关联数组. CDetailView通过配置 attributes来决定Model的那些属性需要显示 ...

  2. Yii Framework 开发教程(32) Zii组件-GridView示例

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

  3. Yii Framework 开发教程(41) Zii组件-Tabs示例

     CJuiTabs 显示分页UI组件,和Yii Framework 开发教程(17) UI 组件 TabView示例功能类似,它封装了 JUI tabs插件. 前基本用法如下: [php] vie ...

  4. Yii Framework 开发教程(29) Zii组件-Menu 示例

    介绍完Yii数据库接口外,从本篇开始介绍Zii组件,包括列表视图ListView,表格视图GridView,此外还包括一些基于JQuery的UI组件,如AutoComplete,DataPicker, ...

  5. Yii Framework 开发教程(35) Zii组件-Button示例

    CJuiButton 显示按钮,CJuiButton 既可以做为Submit(提交)按钮,也可以做为普通按钮. 按钮基本用法如下: <?php $this->widget('zii.wid ...

  6. Yii Framework 开发教程(37) Zii组件-Dialog示例

    CJuiDialog用来显示对话框,模式或非模式对话框.它封装了JUI Dialog插件. 其基本用法如下 <h2><?php echo 'Dialog';?></h2& ...

  7. Yii Framework 开发教程(45) Zii组件-Selectable示例

    CJuiSelectable可以显示一个列表,列表的每个项支持Select事件,它封装了 JUI Selectable插件,其基本用法如下: <?php Yii::app()->clien ...

  8. Yii Framework 开发教程(36) Zii组件-DatePicker示例

     CJuiDatePicker 用于日期输入,它封装了 JUI datepicker插件,其基本用法如下: [php] view plaincopyprint? <?php echo $fo ...

  9. Yii Framework 开发教程(22) UI 组件 Zii组件简介

     前面介绍了Yii框架支持的部分UI组件,除了前面介绍的UI组件外,Yii框架还提供了Zii组件库,包括列表视图ListView,表格视图GridView,此外还包括一些基于JQuery的UI组件 ...

最新文章

  1. 详解计算机视觉中的特征点检测:Harris / SIFT / SURF / ORB
  2. CentOS6.5菜鸟之旅:安装VirtualBox4.3
  3. vuex状态持久化_Vuex数据状态持久化
  4. 安装python环境及pip_Python环境搭建及pip的使用
  5. 微信小程序开发 使用高德地图(精准一些)
  6. QT的QMapIterator类的使用
  7. 基于ZF网络的Faster RCNN网络结构详解(非常详细版)
  8. android开发实例之minitwitter登录界面 代码,Android实例miniTwitter登录界面
  9. 苹果史诗级硬件漏洞 iOS 可永久越狱并且无法修复
  10. GNU C - 关于8086的内存访问机制以及内存对齐(memory alignment)
  11. mybatis学习(38):动态sql-foreach
  12. Java集合框架---重构设计
  13. python利用Tesseract识别验证码
  14. 3.3 基于GMM-HMM的语音识别
  15. Mac如何设置允许和iCloud之间使用接力功能?
  16. sm3 算法java_国密SM3杂凑算法与实现
  17. 2020年副业收入!这是我看到的最好的一篇介绍网络兼职的文章
  18. 今天终于把荣耀6root了_附教程
  19. Air202掉坑日记(1)——烧录固件(AT版本)
  20. jQuery的页面加载完毕事件?

热门文章

  1. 【华人学者风采】胡事民 清华大学
  2. 扬帆际海—移动端流量对跨境电商有多重要?
  3. 我有酒,你有故事吗?
  4. 【torch.optim】优化器的使用 / 学习率的调整 / SWA策略
  5. SwapMix: Diagnosing and Regularizing the Over-Reliance on Visual Context in ... ——2022 CVPR 论文笔记
  6. 踢球骨折在家day7
  7. ProxyPool 代理
  8. “errmsg“ : “not master and slaveOk=false“_Mongo集群没有primary但有secondary时连接不上且不能读数据
  9. tableau server在centos7.6上安装记录
  10. 如何自动注册推特推广号,推特注册的具体步骤