Yii1.1 CGridView 简单使用

  1. 配置model文件,返回CActiveDataProvider对象。
public function search()
{$criteria=new CDbCriteria;$criteria->compare('title',$this->title,true);$criteria->compare('type',$this->type);$criteria->compare('addr',$this->addr,true);$criteria->compare('status',$this->status);$criteria->compare('show_time',$this->show_time);$criteria->order = 'order_by,id desc';return new CActiveDataProvider(get_class($this), array('criteria'=>$criteria,'Pagination' => array ('PageSize' => 15 ),));
}
复制代码
  1. 在模板文件中,通过widget使用CGridView小物件。
$this->widget('zii.widgets.grid.CGridView', array());
复制代码

通过dataProvider接收对象。

$this->widget('zii.widgets.grid.CGridView', array('id' => 'post-grid','dataProvider' => $searchModel->search(),
);
复制代码

加上搜索框

'filter' => $searchModel(),model文件,rules属性return加上要搜索的字段:
array('title, type, addr, status, show_time', 'safe', 'on'=>'search'),
复制代码

columns为展示的字段。filter搜索框为下拉菜单。'class'=>'CButtonColumn'为按钮,其中,'view','update','delete'按钮名特殊处理。

'columns'=>array('title',array('name' => 'type','value'=> function($data){return EnquirySetting::dropDown('type',$data->type);},'filter' => EnquirySetting::dropDown('type'),),'addr',array('name' => 'status','value'=> function($data){return EnquirySetting::dropDown('status',$data->status);},'filter' => EnquirySetting::dropDown('status'),),'show_time',array('class'=>'CButtonColumn','template'=>'{edit}{delete}','buttons'=>array('edit' => array('label'=>Yii::t('label', 'update').' ',//按钮名称'url'=>'Yii::app()->createUrl("onlineshop/chat-edit",array("chat_id"=>$data->id))',//按钮跳转地址'visible'=>"UserRolePermissionUtilities::checkUserPagePermission('/xxx/edit', 'w')",//权限控制),'delete' => array('label'=>Yii::t('label', 'delete'),//按钮名称'url' => 'Yii::app()->createUrl("onlineshop/chat-del",array("chat_id"=>$data->id))',//按钮跳转地址'visible'=>"UserRolePermissionUtilities::checkUserPagePermission('/xxx/delete', 'w')",//权限控制),),'deleteConfirmation'=>Yii::t('product','DEL_CONFIRM'),),
),
复制代码

下拉菜单返回

public static function dropDown($column,$value=null){$dropDownList = array('type' => array('1' => 'www','2' => 'wap',),'status' => array('0' => Yii::t("product","CHAT_CLOSE"),'1' => Yii::t("product","CHAT_OPEN"),));if ($value !== null)return array_key_exists($column, $dropDownList) ? $dropDownList[$column][$value] : false;elsereturn array_key_exists($column, $dropDownList) ? $dropDownList[$column] : false;
}
复制代码
附上完整代码

controller

public function actionChatIcon()
{$searchModel = new EnquirySetting();$searchModel->unsetattributes();if(!empty($_REQUEST['EnquirySetting'])){$searchModel->attributes = $_REQUEST['EnquirySetting'];}$criteria = new CDbCriteria();$count = EnquirySetting::model()->count($criteria);$this->render( 'chat-icon',array( 'count'=>$count,'searchModel'=>$searchModel ) );}
复制代码

view

<?phpif (empty($count)) {echo Yii::t('pagecontent',"list_no_message");
} else {
?><div class="div-table" ><?php $this->widget('zii.widgets.grid.CGridView', array('id'=>'post-grid','dataProvider'=>$searchModel->search(),'filter'=>$searchModel,'columns'=>array('title',array('name' => 'type','value'=> function($data){return EnquirySetting::dropDown('type',$data->type);},'filter' => EnquirySetting::dropDown('type'),),'addr',array('name' => 'status','value'=> function($data){return EnquirySetting::dropDown('status',$data->status);},'filter' => EnquirySetting::dropDown('status'),),'show_time',array('class'=>'CButtonColumn','template'=>'{edit}{delete}','buttons'=>array('edit' => array('label'=>Yii::t('label', 'update').' ','url'=>'Yii::app()->createUrl("onlineshop/chat-edit",array("chat_id"=>$data->id))','visible'=>"UserRolePermissionUtilities::checkUserPagePermission('/onlineshop/chaticon', 'w')",),'delete' => array('label'=>Yii::t('label', 'delete'),'url' => 'Yii::app()->createUrl("onlineshop/chat-del",array("chat_id"=>$data->id))','visible'=>"UserRolePermissionUtilities::checkUserPagePermission('/onlineshop/chaticon', 'w')",),),'deleteConfirmation'=>Yii::t('product','DEL_CONFIRM'),),),));?>
</div><?php
}
?>
复制代码

model

class EnquirySetting extends CActiveRecord
{public static function model($className=__CLASS__){return parent::model($className);}public function tableName(){return 'table_name';}public function rules(){return array(array('title, type, addr','required'),array('title, type, addr, status, show_time, order_by','safe'),array('title, type, addr, status, show_time', 'safe', 'on'=>'search'),);}public function attributeLabels(){return array('title' => Yii::t('product', 'CHAT_TITLE'),'type' =>  Yii::t('product', 'CHAT_TYPE'),'addr' =>  Yii::t('product', 'CHAT_ADDR'),'status' =>  Yii::t('product', 'CHAT_STATUS'),'order_by' =>  Yii::t('product', 'CHAT_ORDER_BY'),'show_time' =>  Yii::t('product', 'CHAT_SHOW_TIME'),'created_date' =>  Yii::t('product', 'CHAT_CREATED_DATE'),'created_by' =>  Yii::t('product', 'CHAT_CREATED_BY'),'modified_date' =>  Yii::t('product', 'CHAT_MODIFIED_DATE'),'modified_by' =>  Yii::t('product', 'CHAT_MODIFIED_BY'),);}public function search(){$criteria=new CDbCriteria;$criteria->compare('title',$this->title,true);$criteria->compare('type',$this->type);$criteria->compare('addr',$this->addr,true);$criteria->compare('status',$this->status);$criteria->compare('show_time',$this->show_time);$criteria->order = 'order_by,id desc';return new CActiveDataProvider(get_class($this), array('criteria'=>$criteria,'Pagination' => array ('PageSize' => 15),));}public static function dropDown($column,$value=null){$dropDownList = array('type' => array('1' => 'www','2' => '1cm',),'status' => array('0' => Yii::t("product","CHAT_CLOSE"),'1' => Yii::t("product","CHAT_OPEN"),));if ($value !== null)return array_key_exists($column, $dropDownList) ? $dropDownList[$column][$value] : false;elsereturn array_key_exists($column, $dropDownList) ? $dropDownList[$column] : false;}
}
复制代码

Yii1.1 CGridView 简单使用相关推荐

  1. Yii CGridView 基本使用(三)关联表相关字段搜索

    加入 关联表 相关字段的搜索: 先说一句,我们在这里仅仅谈 "一对多" 的关联搜索,首先,不要忘了我们的数据库,忘记的同学请戳这里:这里.能够看到在 tbl_post 中是有一个外 ...

  2. YII1 MVC初认识(二)

    上次说了yii1的安装,这次说下简单的使用,其实使用看手册就可以了,我这里就简单说下快速调通一个框架,跑通一个helloworld的方法. 1.首先 你得知道 views controllers mo ...

  3. php 批量删除cookie,php批量删除cookie的简单实现方法

    php批量删除cookie的简单实现方法 本文实例讲述了php批量删除cookie的简单实现方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: //删除单个cookie:键值设置为空 ...

  4. 关于Yii1和Yii2的ActiveRecord活动记录对象关联查询时底层调用SQL语句的不同

    yii1和yii2通过活动记录类对象关联查询数据库时执行的SQL有比较大的区别,而且如果使用不慎还可能导致查询的数据有错漏的情况出现,甚至可能导致表里面命名很多记录,却发现查询出来的结果是空的,我自己 ...

  5. PHP框架 yii1.1 性能为 yii2的四倍

    实验环境:笔记本,i7-7200u, 内存16G, SSD PHP环境:PHP7.2 压力测试工具:apache ab, 并发50,请求数500 测试结果: 1. 渲染简单视图情况下(yii2去除ac ...

  6. 在docker上安装部署tomcat项目 超简单,拿来主义

    在docker中部署tomcat,非常简单,而且省去了手动安装jdk等步骤,只需要将war包复制在容器tomcat实例中的webapps下面即可.以下将详细讲解流程: 在windows中打好包以后用w ...

  7. Linux下tomcat的安装与卸载以及配置(超简单)

    无敌简单的几步 1.安装 //首先你需要下载好tomcat包 sudo tar -xvzf apache-tomcat-7.0.85.tar.gz(这里是包名) -C 你要放的位置 2.卸载 rm - ...

  8. Docker安装Apache与运行简单的web服务——httpd helloworld

    Docker运行简单的web服务--httpd helloworld目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker运行简单的web ...

  9. Docker的安装、镜像源更换与简单应用

    Docker的安装.镜像源更换与简单应用[阅读时间:约20分钟] 一.概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 三.Docker的安装 四.Docker的简单应用 1. ...

最新文章

  1. 网站结构优化——不能忽视的优化重点
  2. C++函数模板Demo - win32 版
  3. html cookie传参,页面间固定参数,通过cookie传值的实现方法
  4. 蓝桥杯2020山西省省赛太原理工大获丰收
  5. 如何自动升级php数据库,php – 如何在现实世界中“升级”数据库?
  6. c语言教程 define,C语言中define的用法
  7. 常州工学院计算机网络考试题库,用Winsock实现在线考试
  8. socket网络字节序以及大端序小端序
  9. 走近网球运动·与棒球相似的体育项目·第一堂棒球课
  10. autojs连连看脚本可视化
  11. Swift guard let 的使用
  12. 同期收治患者住院天数_(完整版)DDD值算法
  13. 【7047】北京游:知乎、百度、豆瓣、新浪微博
  14. 以太智云赋能游戏产业,打造长沙顶尖NFT游戏开发平台,实现边玩边赚
  15. 网络WIFI 无法连接 无法上网网络故障
  16. 掌财社:Java项目案例之客户信息管理系统的实现
  17. [Python练习-文件] 多目录下的字幕vtt转srt
  18. IJCAI-18 阿里妈妈广告转化预测
  19. 一文搞懂CDN加速原理
  20. tgp英雄联盟无法连接服务器未响应,英雄联盟开局后未响应,lol为什么玩着就未响应了...

热门文章

  1. vcm服务器如何修改端口,VCM2000是迈普协同通信解决方案的网管服务器.doc
  2. 计算机是一种在什么控制下 自动高速,计算机是一种能对数字化信息进行自动高速运算的通用处....ppt...
  3. linux常用解压和压缩文件的命令
  4. python(16)-列表list,for循环
  5. php 单选框选中事件,html中的checkbox和radio事件选择用法详解
  6. java 累进计费率计算_设计费400万,缴纳所得税100万,如何筹划
  7. codeforces 231A-C语言解题报告
  8. 在Windows下使用OpenCL配置
  9. 职业发展 先“立功”还是先“安内”?
  10. 软件开发中需要专职的 QA 吗?