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;") ), ), ));
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
copyright © 2008-2019 亿联网络 版权所有 备案号:粤ICP备14031511号-2