yii CListView中使用CArrayDataProvider自定义数组作为数据
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自定义数组作为数据的更多相关文章
- 集合(一)-Java中Arrays.sort()自定义数组的升序和降序排序
默认升序 package peng; import java.util.Arrays; public class Testexample { public static void main(Stri ...
- Java中的自定义数组队列
在Java中,作为所有数据结构中存储和获取速度最快的一种,数组凭借其这种简单易用的优势在各个方面都能大显神威.但是数组也有自身的局限性.数组的长度必须是固定的一旦定义之后就无法动态的更改,这就会造成这 ...
- python3.4中自定义数组类(即重写数组类)
'''自定义数组类,实现数组中数字之间的四则运算,内积运算,大小比较,数组元素访问修改及成员测试等功能''' class MyArray: '''保证输入值为数字元素(整型,浮点型,复数)''' de ...
- YII框架中可以使用foreach遍历对象以及可以使用数组形式直接访问对象的原因
YII框架中可以使用foreach遍历对象以及可以使用数组形式直接访问对象的原因在YII框架的使用过程中,我们可以使用foreach直接遍历findAll等方法返回的对象的属性为什么呢?其实这与CMo ...
- HTML5 UI框架Kendo UI Web中如何创建自定义组件(二)
在前面的文章<HTML5 UI框架Kendo UI Web自定义组件(一)>中,对在Kendo UI Web中如何创建自定义组件作出了一些基础讲解,下面将继续前面的内容. 使用一个数据源 ...
- Yii框架中集成phprpc、hprose
在项目开发的过程中有时候会涉及到对外提供接口供第三方程序调用或者是不同程序间需要相互通信,那么最通用的做法是用传统的SOAP方式来实现,用XML的文档格式来作为传输载体.但是这种方式不灵活,支持的数据 ...
- 使用Yii框架中遇到的三个问题
以下由我们在信易网络公司开发项目的时候终结出的一些经验 使用Yii框架中遇到的三个问题 1.main.php文件中欲引入全局变量的问题 还原一下此问题:在Yii框架中,main.php一般会作为整个应 ...
- Yii框架zii.widgets.grid自定义按钮,ajax触发事件并提示
相关类手册: http://www.yiichina.com/api/CButtonColumn buttons 属性 public array $buttons; the configurati ...
- 类模板、Stack的类模板实现(自定义链栈方式,自定义数组方式)
一.类模板 类模板:将类定义中的数据类型参数化 类模板实际上是函数模板的推广,可以用相同的类模板来组建任意类型的对象集合 (一).类模板的定义 template <类型形参表> clas ...
随机推荐
- Lambda Expression In Java
题记在阅读JDK源码java.util.Collections的时候在UnmodifiableCollection类中看到了这么一段代码: public void forEach(Consumer& ...
- js点击 密码输入框密码显示隐藏
很多密码框都有个眼睛标记,点击能显示密码.原理就是点击切换password为text等显示 下面上代码 <!DOCTYPE html> <html> <head> ...
- linux的getcwd和readlink的区别
针对linux下的程序,有两个路径: 1>运行程序的路径; 2>可执行文件所在的路径 例如: 如果我在/home/yongchao下执行 $ ./temp/test 那么 运行程序的 ...
- vs15
vs15 preview5 离线安装包 vs15 preview5 离线安装包 1.介绍 vs15是微软打造的新一代IDE,全新的安装方式.官网介绍如下(https://blogs.msdn.mi ...
- PHP之路——大文件上传
修改php.ini 1.file_uploads=on/off 是否允许通过http方式上传文件 2.max_execution_time=30 允许脚本最大执行时间,超过这个时间就会报错 3.upl ...
- 我的pch文件
/** * 1. RGB背景色 */ #define PPCOLOR_RGB(r,g,b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue: ...
- python 遍历字典
dict={"a":"apple","b":"banana","o":"orange&qu ...
- bzoj 1195: [HNOI2006]最短母串 爆搜
1195: [HNOI2006]最短母串 Time Limit: 10 Sec Memory Limit: 32 MBSubmit: 894 Solved: 288[Submit][Status] ...
- [Leetcode] Validate BST
给一个Binary Tree,检查是不是Binary Search Tree. 即是否满足对每个节点,左子树的中的所有节点的值 < 当前节点的值 < 右子树所有节点的值. Solution ...
- hdu 4763 && 2013 ACM/ICPC 长春网络赛解题报告
一个KMP的简单题 不过好久没用过这个东东了,今天写的时候花了很多时间: 只需要花点时间判断下所有的元素都相同的的情况就行了! #include<cstdio> #include<c ...