zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    lucene .NET 搜索图片 功能实现
    (转)权威支持: 选择正确的 WebSphere 诊断工具
    (转)WebSphere 中池资源调优
    (转)使用 DB2 HADR 选择用于灾难恢复的 SUPERASYNC 模式
    (转) DB2 HADR
    (转)DB2 HADR 监控详解
    (转)python高级FTP
    (转)Python的web服务器
    (转)python通过paramiko实现,ssh功能
    (转)request模拟知乎登录(无验证码机制
  • 原文地址:https://www.cnblogs.com/imxiu/p/3464007.html
Copyright © 2011-2022 走看看