私のビューコードにはこれがあります:
<?= 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],
],
],
]);
通常、ヘッダー名は「トレーニングスコア」と「試験スコア」になります
Yii2 gridviewでは、ヘッダー行をカスタマイズできますか?ヘッダー行は2行で表示されます。
<table border=1>
<tr><th>Training <br> Score</th><th>Exam <br> Score</th></tr>
</table>
これを実現するには、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コンテンツはエンコードされません。
公式ドキュメント:
'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,
],