So entfernen Sie Zusammenfassung und Sortierer für eine bestimmte Rasteransicht in Yii2. In Yii1.1 können wir das tun, indem wir die Template-Eigenschaft setzen. Wie erreicht man das in yii2?
Rasteransicht in yii2 anpassen
Dency GB
Sajjad Deghani
Nur zum wechseln summary
Option können Sie verwenden:
'summary' => "{begin} - {end} {count} {totalCount} {page} {pageCount}",
Dann, wenn Sie leeren möchten summary
Set mit leerem String-Wert wie:
'summary'=> "",
und um Layouts zu ändern, können Sie verwenden:
'layout'=> "{summary}\n{items}\n{pager}"
Dann, wenn Sie leeren möchten layouts
Legen Sie das Layout mit einem leeren Zeichenfolgenwert fest wie:
'layout'=> "",
Also, zum Beispiel, ich denke, der unten stehende Beispielcode kann helfen, zu wissen, wie man ihn ändert und anpasst GridView
Tabelle in Yii 2:
<?= \yii\grid\GridView::widget([
'id' => 'table',
'dataProvider' => $dataProvider,
'layout'=>"{sorter}\n{pager}\n{summary}\n{items}",
'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',
]);
},
]
],
],
]); ?>
-
Fehler – Undefinierte Variable: Anzahl. $dataProvider->count hat das für mich behoben.
– 111
24. Dezember 2016 um 18:44 Uhr
-
‘count’ stammt vom Controller, der das View-Rendering weitergegeben hat. Sie können die ‘count’-Variable entfernen.
– Sajjad Dehghani
26. Dezember 2016 um 16:05 Uhr
Verstanden. Durch Festlegen der Layout-Eigenschaft können wir dies erreichen.
'layout'=>"{summary}\n{items}\n{pager}"
wenn Sie nur Gitterelemente verwenden möchten 'layout'=>"{items}"
wenn Sie nur eine zusammenfassende Verwendung wünschen 'layout'=>"{summary}"
wenn Sie nur Sorter verwenden möchten 'layout'=>"{pager}"
Entwicklerium
Stellen Sie den Parameter ein summaryText
zu leerem String:
array(
'summaryText' => '',
'dataProvider' => $model->search(),
...
Zija Wachobow
[
'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'
]