Yii1.1 CGridView 简单使用
生活随笔
收集整理的這篇文章主要介紹了
Yii1.1 CGridView 简单使用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Yii1.1 CGridView 簡單使用
通過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 简单使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 执行计划oracle中cost,执行计划
- 下一篇: oracle归档日志保留时间,Oracl