Dans mon code de vue, j'ai ceci:
<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
['label' => 'Training Score',
'attribute' => 'scoreTraining',
'format' => ['decimal',2],
],
['label' => 'Exam Score',
'attribute' => 'scoreExam',
'format' => ['decimal',2],
],
],
]);
Normalement, le nom de l'en-tête sera "Score de formation" et "Score d'examen"
Est-il possible dans yii2 gridview de personnaliser la ligne d'en-tête? de sorte que ma ligne d'en-tête ressemble à 2 lignes ..
<table border=1>
<tr><th>Training <br> Score</th><th>Exam <br> Score</th></tr>
</table>
Pour ce faire, utilisez la propriété header
au lieu de label
:
<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
[
'header' => 'Training <br> Score',
'attribute' => 'scoreTraining',
'format' => ['decimal', 2],
],
[
'header' => 'Exam <br> Score',
'attribute' => 'scoreExam',
'format' => ['decimal', 2],
],
],
]);
De cette façon, le contenu HTML ne sera pas encodé.
Documents officiels:
Utilisez l'attribut 'label' pour définir l'en-tête:
http://www.yiiframework.com/doc-2.0/yii-grid-datacolumn.html# $ label-detail
De cette façon, la fonctionnalité de tri fonctionnera toujours.
Utilisez 'encodeLabel' => false pour autoriser des entités HTML comme
travailler:
http://www.yiiframework.com/doc-2.0/yii-grid-datacolumn.html# $ encodeLabel-detail
Exemple:
[
'attribute' => 'firstname',
'label' => 'First <br /> Name',
'encodeLabel' => false,
],