<?= gridview::widget([
'dataprovider' => $dataprovider,
'filtermodel' => $searchmodel,
'columns' => [
['class' => 'yii\grid\serialcolumn'],
['attribute'=>'id','contentoptions'=>['width'=>'5%']],
'username',
'nickname',
'realname',
'email:email',
['attribute'=>'created_at','format'=>['date','php:y-m-d h:i']],
['class' => 'yii\grid\actioncolumn',
],],
]); ?>
common/models/postsearch.php
public function search($params)
// grid filtering conditions
$query->andfilterwhere([
'id' => $this->id,
'status' => $this->status,
'type' => $this->type,
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
'created_by' => $this->created_by,
'updated_by' => $this->updated_by,
]);$query->andfilterwhere(['like', 'subject', $this->subject])
->andfilterwhere(['like', 'content', $this->content])
->andfilterwhere(['like', 'tag', $this->tag]);
return $dataprovider;
}
activedataprovider 繼承自 basedataprovider ,實現了 dataproviderinte***ce 介面。在此介面中擁有一下方法:
資料提供者 dataprovider 的自定義
$dataprovider = new activedataprovider([
'query' => $query,
//分頁
'pagination' => [
'pagesize'=> 2
],//排序
'sort'=>[
'defaultorder'=>['id'=>sort_desc],
'attributes'=>['id','title']
]]);
方式1
<?= gridview::widget([
'dataprovider' => $dataprovider,
'filtermodel' => $searchmodel,
'columns' => [
['class' => 'yii\grid\serialcolumn'],
['attribute'=>'id', 'contentoptions'=>['width'=>'5%']],
'post_id',
'status',
['attribute'=>'content','value'=>function($model)],
'url:url',
// 'email:email',
// 'remind',
// 'created_at',
// 'created_by',
['class' => 'yii\grid\actioncolumn'],
],]); ?>
/*字元擷取*/
public function getbegin()
檢視中直接使用
<?= gridview::widget([
'dataprovider' => $dataprovider,
'filtermodel' => $searchmodel,
'columns' => [
['class' => 'yii\grid\serialcolumn'],
['attribute'=>'id', 'contentoptions'=>['width'=>'5%']],
'post_id',
'status',
['attribute'=>'content','value'=>'begin'],
'url:url',
// 'email:email',
// 'remind',
// 'created_at',
// 'created_by',
['class' => 'yii\grid\actioncolumn'],
],]); ?>
1.屬性定義的格式
getter方法名以get開頭,get後跟屬性名。
setter方法名以set開頭,set後跟屬性名。
2.屬性的使用
定義好方法後即可像普通屬性一樣使用,但本質區別是當屬性被讀取時,對應的getter將被呼叫,而當屬性被賦值時,對應的setter也被呼叫。
3.注意問題
要使用getter和setter來定義屬性,類必須從 yii\base\object 或其子類繼承。此種方法不是只能用於模型類,只要是從 yii\base\object 類繼承的類都可使用。
若只定義getter而沒有setter的屬性是唯讀屬性對其賦值不會丟擲異常。
此種方法定義的屬性一般多數都是唯讀的,一般不用持久化儲存,多數是乙個業務邏輯需要的計算結果。
動作列的配置屬性
[
'class' => 'yii\grid\actioncolumn',
'buttons'=>[
$options = [
'data-confirm'=>yii::t('common','are you sure?'),
'data-method'=>'post',
'data-pjax'=>'0'
];return html::a('',$url,$options);}]
],
yii2GridView的簡單使用
初學yii2.0,用到gridview,翻閱官方文件,也沒怎麼看明白,自己慢慢摸索出來的,僅供參考 gridview widget dataprovider dataprovider,你傳過來的activedataprovider filtermodel searchmodel,columns cl...
YII2 Gridview 部分使用規則
yii提供了一套資料小部件 widgets 這些小部件可以用於顯示資料。detailview 小部件能夠用於顯示一條記錄資料,listview 和 gridview 小部件能夠用於顯示乙個擁有分頁 排序和過濾功能的乙個列表或者 1.頁面顯示的時間戳轉換 a.label 建立日期 attribute ...
yii2GridView的簡單使用
gridview widget dataprovider dataprovider,你傳過來的activedataprovider filtermodel searchmodel,columns class yii grid serialcolumn 第一列排序 sid 第二列,sid,與你查詢的m...