在 yii2 中自定义网格视图
Posted
技术标签:
【中文标题】在 yii2 中自定义网格视图【英文标题】:Customise grid view in yii2 【发布时间】:2014-03-07 15:56:15 【问题描述】:如何在 Yii2 中删除特定网格视图的摘要和排序器。在 Yii1.1 中,我们可以通过设置模板属性来做到这一点。在yii2中如何实现呢?
【问题讨论】:
【参考方案1】:要仅更改summary
选项,您可以使用:
'summary' => "begin - end count totalCount page pageCount",
然后,如果你想清空summary
设置为空字符串值,如:
'summary'=> "",
并更改您可以使用的布局:
'layout'=> "summary\nitems\npager"
然后,如果你想清空layouts
设置布局为空字符串值,如:
'layout'=> "",
Ref link
Ref link
因此,对于示例,我认为下面的示例代码可以帮助您了解如何在 Yii 2 中更改和自定义 GridView
表:
<?= \yii\grid\GridView::widget([
'id' => 'table',
'dataProvider' => $dataProvider,
'layout'=>"sorter\npager\nsummary\nitems",
'summary' => "Showing begin - end of totalCount items",
'tableOptions' => ['class' => 'table table-bordered table-hover'],
'rowOptions' => function ($model, $key, $index, $grid)
return [
'style' => "cursor: pointer",
'onclick' => 'location.href="'
. Yii::$app->urlManager->createUrl('test/index')
. '?id="+(this.id);',
];
,
'columns' => [
[
'class' => 'yii\grid\SerialColumn',
'contentOptions' => ['style' => 'width: 20px;', 'class' => 'text-center'],
],
[
'class' => 'yii\grid\DataColumn',
'attribute' => 'date',
'headerOptions' => ['class' => 'text-center'],
'label' => 'Date',
'contentOptions' => ['style' => 'width: 130px;', 'class' => 'text-center'],
],
'template' => 'view',
'buttons' => [
'view' => function ($url, $model)
return \yii\helpers\html::a('<div class="text-center"><em data-toggle="tooltip"
data-placement="top" title="more detail"
class="fa fa-external-link-square text-warning"></em></div>',
(new yii\grid\ActionColumn())->createUrl('test/index', $model, $model['id'], 1), [
'title' => Yii::t('yii', 'view'),
'data-method' => 'post',
'data-pjax' => '0',
]);
,
]
],
],
]); ?>
【讨论】:
错误 - 未定义的变量:计数。 $dataProvider->count 为我解决了这个问题。 'count' 来自传递视图渲染的控制器,您可以删除 'count' 变量。【参考方案2】:知道了,通过设置layout属性就可以实现了。
'layout'=>"summary\nitems\npager"
【讨论】:
【参考方案3】:如果您只想要网格项目,请使用'layout'=>"items"
如果您只想要摘要,请使用 'layout'=>"summary"
如果您只想要分拣机,请使用'layout'=>"pager"
【讨论】:
【参考方案4】:设置参数summaryText
为空字符串:
array(
'summaryText' => '',
'dataProvider' => $model->search(),
...
【讨论】:
这给了我一个未知的属性异常!它的yii2! :-)【参考方案5】:[
'class' => 'yii\grid\ActionColumn',
'buttons' =>
[
'update'=>function($url,$model,$key)
return Html::a( "update" , $url ); //use Url::to() in order to change $url
,
'view'=>function($url,$model,$key)
return Html::a( "update" , $url ); //use Url::to() in order to change $url
,
'delete'=>function($url,$model,$key)
return Html::a( "update" , $url, [
'class' => 'btn btn-lg btn-primary',
'data' => [
'method' => 'post',
'params' => ['derp' => 'herp'], // <- extra level
],
] ); //use Url::to() in order to change $url
],
'template' => '<div class="column-buttons">
<span>update</span>
<span>view</span>
<span>delete</span>
</div>',
'header' => 'Actions'
]
【讨论】:
以上是关于在 yii2 中自定义网格视图的主要内容,如果未能解决你的问题,请参考以下文章