Yii2 GridView Настроить строку заголовка
В моем коде зрения у меня есть следующее:
<?= 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],
],
],
]);
Обычно имя заголовка будет "Training Score" и "Exam Score"
Возможно ли в gridview yii2 настроить строку заголовка? так что строка заголовка выглядит как в строке 2.
<table border=1>
<tr><th>Training <br> Score</th><th>Exam <br> Score</th></tr>
</table>
Ответы
Ответ 1
Чтобы добиться этого, используйте header
свойство вместо 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],
],
],
]);
Таким образом, HTML-контент не будет закодирован.
Официальные документы:
Ответ 2
Используйте атрибут 'label' для установки заголовка:
http://www.yiiframework.com/doc-2.0/yii-grid-datacolumn.html# $label-detail
Таким образом, функция сортировки по-прежнему будет работать.
Используйте 'encodeLabel' = > false, чтобы позволить HTML-объектам, таким как
, работать:
http://www.yiiframework.com/doc-2.0/yii-grid-datacolumn.html# $encodeLabel-detail
Пример:
[
'attribute' => 'firstname',
'label' => 'First <br /> Name',
'encodeLabel' => false,
],