Yii1 1 CGridView 簡單使用

2021-09-11 12:09:41 字數 3259 閱讀 5989

配置model檔案,返回cactivedataprovider物件。

public function

search

()複製**

在模板檔案中,通過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),

'filter' => enquirysetting::dropdown('type'),

),'addr',

array(

'name' => 'status',

'value'=> function($data),

'filter' => enquirysetting::dropdown('status'),

),'show_time',

array(

'class'=>'cbuttoncolumn',

'template'=>'',

'buttons'=>array

('edit' => array

('label'=>yii::t('label', 'update').' ',//按鈕名稱

'visible'=>"userrolepermissionutilities::checkuserpagepermission('/***/edit', 'w')",//許可權控制

),'delete' => array

('label'=>yii::t('label', 'delete'),//按鈕名稱

'visible'=>"userrolepermissionutilities::checkuserpagepermission('/***/delete', 'w')",//許可權控制

),),

'deleteconfirmation'=>yii::t('product','del_confirm'),

),),複製**

下拉列表返回

public static function dropdown($column,$value=null)

複製**

附上完整**

controller

public function

actionchaticon

() $criteria = new cdbcriteria();

$count = enquirysetting::model()->count($criteria);

$this->render( 'chat-icon',array( 'count'=>$count,'searchmodel'=>$searchmodel ) );

}複製**

view

<?php

if (empty($count)) else ,

'filter' => enquirysetting::dropdown('type'),

),'addr',

array(

'name' => 'status',

'value'=> function($data),

'filter' => enquirysetting::dropdown('status'),

),'show_time',

array(

'class'=>'cbuttoncolumn',

'template'=>'',

'buttons'=>array

('edit' => array

('label'=>yii::t('label', 'update').' ',

'visible'=>"userrolepermissionutilities::checkuserpagepermission('/onlineshop/chaticon', 'w')",

),'delete' => array

('label'=>yii::t('label', 'delete'),

'visible'=>"userrolepermissionutilities::checkuserpagepermission('/onlineshop/chaticon', 'w')",

),),

'deleteconfirmation'=>yii::t('product','del_confirm'),

),),

));?>

<?php

}?>

複製**

model

class enquirysetting extends cactiverecord

public function

tablename

()

public function

rules

()

public function

attributelabels

()

public function

search

()

public static function dropdown($column,$value=null)

}複製**

Yii把CGridView文字框換成下拉框的方法

使用yii的朋友都知道yii中的cgridview預設顯示提文字框了,那麼我們要怎麼把它轉換成下拉框呢?本文就此分析一下解決方法。預設情況下cgridview會生成乙個文字框,但是這並不友好,使用者往往希望知道有什麼可選的,特別是資料庫裡存的是數字id的時候,我們希望將數字轉換為可讀的文字,這時候只...

Yii中CGridView禁止列排序的設定方法

yii中cgridview的功能是用來顯示的資料列表。它支援排序,分頁,和ajax資料請求。下面的 演示了cgridview禁止列排序的設定方法 columns array array class ccheckboxcolumn selectablerows abaryqkdba 2 value d...

yii1 1 x學習筆記(3)快取

1 片段快取 在view中的快取html片段起始新增 begincache cachename array duration 3600,設定快取過期時間 vartbyparam array param 設定變化快取,生成不同的快取 class ststem.caaching.dependencies...