<?=
GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
//分页样式
'pager' => [
//'options'=>['class'=>'hidden']//关闭分页
'firstPageLabel'=>"First",
'prevPageLabel'=>'Prev',
'nextPageLabel'=>'Next',
'lastPageLabel'=>'Last',
],
//重新定义分页样式
'tableOptions' => [
'style' => '',
'class' => 'table table-hover rf-table',
'fixedNumber' => 2, // 固定前几列
'fixedRightNumber' => 1, // 固定最后几列
],
'options' => [
'class' => 'grid-view',//固有的默认值
'id' => 'xxxx',//自己指定id,默认是'w0',
],
'columns' => [
//td标签的属性配置
[
'attribute' => 'name',
'contentOptions' => [
'class' => '',
'style' => '',
],
],
//是否显示某列
[
'attribute' => 'name',
'value' => $model->name,
'visible' => intval(Yii::$app->request->get('type')) == 1,//是否显示
],
//搜索显示
[
'attribute' => 'name',
'filter' => false, //不显示搜索框
],
//链接跳转
[
'attribute' => 'order_id',
'value' => function ($model) {
return Html::a($model->order_id, "/order?id={$model->order_id}", ['target' => '_blank']);
'format' => 'raw',
],
//图片显示
[
'label' => '头像',
'format' =>
[
'image',
[
'width'=>'84',
'height'=>'84'
]
],
'value' => function ($model) {
return $model->image;
}
]
//html渲染
[
'attribute' => 'title',
'value' => function ($model) {
return Html::encode($model->title);
},
'format' => 'raw',
],
//设定宽度
[
'attribute' => 'title',
'value' => 'title',
'headerOptions' => ['width' => '100'],
],
//自定义字段
[
'attribute' => '消费金额',
'value' => function ($model) {
// 这里可以根据该表的其他字段进行关联获取
return $model->money;
}
],
//按钮
[
'class' => 'yii\grid\ActionColumn',
'template' => '{get} {status} {edit}',
'header' => '操作',
'headerOptions' => ['width' => '240'],
'buttons' => [
//自定义按钮
'get' => function ($url, $model, $key) {
return Html::a('获取xxx', $url, ['title' => '获取xxx'] );
},
//js按钮
'status' => function ($url, $model, $key) {
return Html::a('更新状态', 'javascript:;', ['onclick'=>'update_status(this, '.$model->id.');']);
},
//弹窗
'edit' => function ($url, $model, $key) {
return Html::linkButton(['edit', 'user_id'=> $model['user_id']], Util::f('编辑'), [
'data-toggle' => 'modal',
'data-target' => '#ajaxModal', //弹窗js 后台renderAjax
'class' =>'btn btn-primary btn-sm'
]);
},
],
],
],
],
]);
?>
yii2 GridView 使用
最新推荐文章于 2025-03-10 20:10:22 发布