Yii2 GridView 中对columns的定义
2018-04-10 08:44
246 查看
<?= GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [ ['class' => 'yii\grid\SerialColumn', 'header'=>'序号', 'headerOptions'=>['width'=>'50'], ], 'username', 'userphone', [ 'class' => 'yii\grid\ActionColumn', 'template' => '{verify} {minus} {view}', 'header'=>'操作','headerOptions'=>['width'=>'120'], 'buttons'=>[ 'verify'=> function($url,$model){ return Html::a(' <i class="fa fa-check-square text-success"></i> ','verfiy.html?id='.$model->id, [ 'title' => Yii::t('app', '通过审核'), ]); }, ], 'controller'=>'user', ], ] ]); ?>
其中对时间格式化
[ 'attribute'=>'logintime', 'format'=>['date','Y年M月d日 H:m:s'] ],
格式化Ip 和上面差不多
[ 'attribute'=>'loginip', 'content'=>function($data){ return long2ip($data->loginip); } ],
利用系统参数展示
[ 'attribute'=>'type', 'content'=>function($data){ return Yii::$app->params['type'][$data->type]; } ],
增加过滤下拉,这个主要是看filter,
<?= GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [ ['class' => 'yii\grid\SerialColumn'], 'user_id', [ 'label' => 'status', // 可选 复写 'attribute' => 'status', 'filter' => Html::activeDropDownList($searchModel, 'status', \common\models\Token::getStatus(), ['class' => 'form-control']), 'value' => function ($data) { return \common\models\Token::getStatus()[$data->status]; }, ], 'created_at:datetime', 'expired_at:datetime', ['class' => 'yii\grid\ActionColumn'], ], ]); ?>
在models里面加上
public static function getStatus() { return [ '' => '全部', self::STATUS_ACTIVE => '正常', self::STATUS_DELETE => '删除', ]; }
另外默认使用DataColumn,代表显示数据。DataColumn还有几个lei类似的如下:
ActionColumn 显示操作按钮等
CheckboxColumn 显示复选框
RadioButtonColumn 显示单选框
SerialColumn 显示行号
以下案例来自yii2china
<?= GridView::widget([ 'dataProvider' => $dataProvider, 'columns' => [ [ 'class'=>'yii\grid\CheckboxColumn' ], 'id', 'username', [ 'attribute'=>'create_time', 'format'=>['date', 'php:Y-m-d H:i:s'] ], [ 'attribute'=>'sex', 'value'=>function($data){ return $data->sex == 1 ? '男' : '女'; } ], 'province', 'city' ], 'emptyText'=>'当前没有会员', 'emptyTextOptions'=>['style'=>'color:red;font-weight:bold'], 'layout'=>"{items}\n{pager}", 'showOnEmpty'=>false ]);?>
相关文章推荐
- 动态定义SL DataGrid Columns
- Yii2中关联数据表数据在gridview中的显示,查询(search)和排序(sort)等。
- GridView.Columns.Count 值为0的问题。
- android 字定义GridView 引用自己的定义布局
- Yii2 如何定义数据库连接
- Yii2 中 ActiveForm 和 GridView 使用 Pjax
- yii2 GridView使用记录
- yii2 定义友好404
- yii2 GridView::widget新标签页打开
- yii2 中GridView的三表联查的显示
- 如何让easyui gridview 宽度自适应窗口改变及fitColumns应用
- yii2 GridView常见操作
- yii2的GridView和ActiveDataProvider具体使用
- yii2自定义GridView和ActionColumn
- “GridView1”上同时定义了 DataSource 和 DataSourceID。请移除一个定义。
- 富数据控件 GridView(定义列、格式化、样式)
- yii2中GridView使用进阶
- ASP.NET GridView AutoGenerateColumns Bug
- yii2 GridView常见操作