CArrayDataProvider类手册:

http://www.yiichina.com/api/CArrayDataProvider

在yii中无论是CListView还是CGridView,对应数据的传值都是从后台完成的,有时候我们不是从数据库读取,而是自定义一些数组来作为表格的数据。其实Yii在后台对应数组处理有2个好函数的,一个是CActiveDataProvider,另外一个是CArrayDataProvider。从英文的字面意思很容易理解,CActiveDataProvider是用来给从数据库读取的那些数据然后转换成数组;CArrayDataProvider是把自定义的数组转换为可以在ClistView可以使用的格式。

贴上代码,不解释了。忙项目。

在controller里面

[php] view plaincopy
$data = array(
0=>array('id'=>1,'name'=>'合格率'),
1=>array('id'=>2,'name'=>'不合格率'),
); [php] view plaincopy
$repdp = new CArrayDataProvider($data,array(
'keyField'=>'id',
'sort'=>array(
'attributes'=>array('id','name'),
//'defaultOrder'=>array('id' => false),
), )); return $repdp; 在VIEW里面
[php] view plaincopy
<?php
$this->widget('zii.widgets.CListView', array(
'id'=>'AllDayAnalysisPercent-grid',
'dataProvider'=>$AllDayAnalysisPercent,
'itemView'=>'DayAnalysis_view', ));?>
我这里使用了一个itemView的模板。模板如下:
[php] view plaincopy
<tr>
<th><?php echo CHtml::encode($data['name']); ?></th>
</tr>
这里要特别注意!我一开始是用$data->name这样的格式,其实这个格式是复制yii自带模板的格式,但是系统会出错,我后来搜索了很大国外的资料,发下我这个itemView的模板里面其实写错了,应该是$data['name']这样的格式!因为是自定义的数组,应该是php原生数组的格式,而不是yii的那种格式,这个跟从数据库读取出来的方式不同。要特别注意的。
最后CGridView的使用自定义数组作为数据的方式也跟这个是一样的。如果你不懂CGridView的自定义数组作为数据方式,留言,我下次专门贴出。 这篇文字国内暂时没有中文的,我也是搜索了很多国外的英文资料才整理出来。请各位转载的时候注明出处。

From: http://blog.csdn.net/panxiong91/article/details/10510281

yii CListView中使用CArrayDataProvider自定义数组作为数据的更多相关文章

  1. 集合(一)-Java中Arrays.sort()自定义数组的升序和降序排序

    默认升序 package peng; import java.util.Arrays;  public class Testexample { public static void main(Stri ...

  2. Java中的自定义数组队列

    在Java中,作为所有数据结构中存储和获取速度最快的一种,数组凭借其这种简单易用的优势在各个方面都能大显神威.但是数组也有自身的局限性.数组的长度必须是固定的一旦定义之后就无法动态的更改,这就会造成这 ...

  3. python3.4中自定义数组类(即重写数组类)

    '''自定义数组类,实现数组中数字之间的四则运算,内积运算,大小比较,数组元素访问修改及成员测试等功能''' class MyArray: '''保证输入值为数字元素(整型,浮点型,复数)''' de ...

  4. YII框架中可以使用foreach遍历对象以及可以使用数组形式直接访问对象的原因

    YII框架中可以使用foreach遍历对象以及可以使用数组形式直接访问对象的原因在YII框架的使用过程中,我们可以使用foreach直接遍历findAll等方法返回的对象的属性为什么呢?其实这与CMo ...

  5. HTML5 UI框架Kendo UI Web中如何创建自定义组件(二)

    在前面的文章<HTML5 UI框架Kendo UI Web自定义组件(一)>中,对在Kendo UI Web中如何创建自定义组件作出了一些基础讲解,下面将继续前面的内容. 使用一个数据源 ...

  6. Yii框架中集成phprpc、hprose

    在项目开发的过程中有时候会涉及到对外提供接口供第三方程序调用或者是不同程序间需要相互通信,那么最通用的做法是用传统的SOAP方式来实现,用XML的文档格式来作为传输载体.但是这种方式不灵活,支持的数据 ...

  7. 使用Yii框架中遇到的三个问题

    以下由我们在信易网络公司开发项目的时候终结出的一些经验 使用Yii框架中遇到的三个问题 1.main.php文件中欲引入全局变量的问题 还原一下此问题:在Yii框架中,main.php一般会作为整个应 ...

  8. Yii框架zii.widgets.grid自定义按钮,ajax触发事件并提示

    相关类手册: http://www.yiichina.com/api/CButtonColumn   buttons 属性 public array $buttons; the configurati ...

  9. 类模板、Stack的类模板实现(自定义链栈方式,自定义数组方式)

    一.类模板 类模板:将类定义中的数据类型参数化 类模板实际上是函数模板的推广,可以用相同的类模板来组建任意类型的对象集合 (一).类模板的定义 template  <类型形参表> clas ...

随机推荐

  1. 移动web问题小结

    Meta标签: <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalab ...

  2. QQ空间的“神奇”图片

    近几天好多朋友问我qq空间出现的神奇图片原理,最近比较烦,事情比较多,一直没理.加上我对PHP之类的语言也一知半解. 今天闲了看了一下QQ空间,发现这个很早以前就有人写过这样的帖子了 看别人解释 (转 ...

  3. Quartz2D学习笔记(1)

    ********************************** 简介 *************************************** Quartz2D是⼀个二维绘图引擎,同时支持 ...

  4. contos vsftp 530错误

    只需要把/etc/pam.d/vsftpd文件中的 auth       required    pam_listfile.so item=user sense=deny file=/etc/vsft ...

  5. virtualBox ubuntu 文件共享

    如何将主机中的文件共享到虚拟机中: 1.  查看/dev中的文件  命令:ls /dev 2.  找到 cdrom1 ,直接挂载到/mnt 命令:sudo mount /dev/cdrom1 /mnt ...

  6. 防御XSS攻击的七条原则

    本文将会着重介绍防御XSS攻击的一些原则,需要读者对于XSS有所了解,至少知道XSS漏洞的基本原理,如果您对此不是特别清楚,请参考这两篇文章:<Stored and Reflected XSS ...

  7. ember.js

    http://blog.geoinker.com/2012/12/29/seven-javascript/ http://www.csdn.net/article/2013-04-15/2814893 ...

  8. linux 监控

    http://www.iyunv.com/thread-50606-1-1.html http://segmentfault.com/a/1190000002537665 http://blog.cs ...

  9. 李洪强iOS开发-网络新闻获取数据思路回顾

    李洪强iOS开发-网络新闻获取数据思路回顾 01 创建一个继承自AFHTTPSessionManager的工具类:LHQNetworkTool 用来发送网络请求获取数据  1.1 定义类方法返回单例对 ...

  10. 李洪强iOS开发Swift篇---12_NSThread线程相关简单说明

    李洪强iOS开发Swift篇---12_NSThread线程相关简单说明 一 说明 1)关于多线程部分的理论知识和OC实现,在之前的博文中已经写明,所以这里不再说明. 2)该文仅仅简单讲解NSThre ...