web-dev-qa-db-fra.com

Grille personnalisée dans yii2

Comment supprimer le résumé et le trieur pour une vue de grille particulière dans Yii2. Dans Yii1.1, nous pouvons le faire en définissant la propriété du modèle. En yii2 comment y parvenir?

27
Dency G B

En définissant la propriété de mise en page, nous pouvons y parvenir.

'layout'=>"{summary}\n{items}\n{pager}"
9
Dency G B

Pour modifier uniquement l'option summary, vous pouvez utiliser:

'summary' => "{begin} - {end} {count} {totalCount} {page} {pageCount}",

Ensuite, si vous voulez vider summary set avec une valeur de chaîne vide comme:

'summary'=> "",

et pour modifier les dispositions, vous pouvez utiliser:

'layout'=> "{summary}\n{items}\n{pager}"

Ensuite, si vous voulez vider layouts définissez la disposition avec une valeur de chaîne vide comme:

'layout'=> "",

Lien de référence

Lien de référence

Donc, pour l'exemple, je pense que l'exemple de code ci-dessous peut aider à savoir comment changer et conserver GridView table dans 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',
                                    ]);
                            },
                        ]
                    ],
                ],
            ]); ?>
37
Sajjad Dehghani

si vous ne voulez que des éléments de grille, utilisez 'layout'=>"{items}"

si vous ne voulez utiliser qu'un résumé 'layout'=>"{summary}"

si vous ne voulez utiliser que la trieuse 'layout'=>"{pager}"

6
Ajey

Définissez le paramètre summaryText sur une chaîne vide:

array(
    'summaryText' => '',
    'dataProvider' => $model->search(),
...
1
Developerium
[
    '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'
]
0
Ziya Vakhobov