我有一张包含许多colomns的桌子。它有一个很大的字符串和小数据字符串,如“平均使用时间”和“55”,
| Average usage time |
______________________
| 55|
所以我想在几行中显示标签,比如
| Average|
| usage|
| time|
| _______|
| 55 |
将表格放入屏幕。问题是DataColumn忽略标签中的'\ n'符号和br标签。有没有办法做到这一点?
DataColumn示例:
[
'attribute' => 'avg_usage_time',
'label' => 'Average <br>usage time',
'vAlign'=>'middle',
'content' => function($model) {
return number_format($model['avg_usage_time'], 0, '.', ' ');
},
'pageSummary' => function ($summary, $data, $widget) {
return (isset($summary) && is_numeric($summary)) ? number_format($summary, 0, '.', ' ') : 0;
},
],
答案 0 :(得分:1)
这是您的解决方案 请添加类型属性。
[
'attribute' => 'avg_usage_time',
'label' => 'Average <br>usage time',
'type' => 'raw'
'vAlign'=>'middle',
'content' => function($model) {
return number_format($model['avg_usage_time'], 0, '.', ' ');
},
'pageSummary' => function ($summary, $data, $widget) {
return (isset($summary) && is_numeric($summary)) ? number_format($summary, 0, '.', ' ') : 0;
},
],
可能会对你有所帮助。请在允许使用html的属性中添加此'type' => 'raw'
。
答案 1 :(得分:1)
'type' => 'raw'
不起作用。请改用'encodeLabel' => false
[
'attribute' => 'avg_usage_time',
'label' => 'Average <br>usage time',
'encodeLabel' => false,
'vAlign'=>'middle',
'content' => function($model) {
return number_format($model['avg_usage_time'], 0, '.', ' ');
},
'pageSummary' => function ($summary, $data, $widget) {
return (isset($summary) && is_numeric($summary)) ? number_format($summary, 0, '.', ' ') : 0;
},
],