yii使用CArrayDataProvider进行数组分页

我们的数据未必都是存储在数据库中,很多时候是用数组来组织的。所以获取数组数据,进行分页是比较常见的编程要求。

在YII中我们可以利用CArrayDataProvider,可以对一个数组里面的数据进行分页
php代码如下
 

public function actionPage(){
           $rawData = array(
               array('id'=>1,'username'=>'aa','password'=>'aaaaaa'),
               array('id'=>2,'username'=>'bb','password'=>'aaaaaa'),
               array('id'=>3,'username'=>'cc','password'=>'aaaaaa'),
               array('id'=>4,'username'=>'dd','password'=>'aaaaaa'),
               array('id'=>5,'username'=>'ee','password'=>'aaaaaa'),
               array('id'=>6,'username'=>'ff','password'=>'aaaaaa'),
               array('id'=>7,'username'=>'gg','password'=>'aaaaaa'),
               array('id'=>8,'username'=>'hh','password'=>'aaaaaa'),
               array('id'=>9,'username'=>'jj','password'=>'aaaaaa'),
               array('id'=>10,'username'=>'qq','password'=>'aaaaaa'),
               array('id'=>11,'username'=>'www','password'=>'aaaaaa'),
               array('id'=>12,'username'=>'xx','password'=>'aaaaaa'),
               array('id'=>13,'username'=>'zz','password'=>'aaaaaa'),
           );
           
           $dataProvider=new CArrayDataProvider($rawData, array(
               'id'=>'user',
               'sort'=>array(
                   'attributes'=>array(
                        'id', 'username', 'password',
                   ),
               ),
               'pagination'=>array(
                   'pageSize'=>10,
               ),
           ));
           $this->render('page',array('dataProvider'=>$dataProvider));
       }


在页面展示的时候使用CGridView进行数据显示
 
$this->widget('zii.widgets.grid.CGridView',array(
         'id'=>'effectivepolicy-grid',
         'dataProvider'=>$dataProvider,
         'emptyText'=>'没有找到数据.',
         'nullDisplay'=>'-',
         'columns'=>array(
            
             array(
               'name'=>'用户名',
               'value'=>'$data["username"]',
               'htmlOptions'=>array('style'=>'width:55px;')
             ),
                               array(
               'name'=>'密码',
               'value'=>'$data["password"]',
               'htmlOptions'=>array('style'=>'width:55px;')
             ),
          ),
       ));


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Morven

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值