如何文本换行 - DataGridView Yii2 框架
How to Text Wrap - DataGridView Yii2 framework
我一直试图在互联网上找到答案,但我什么都找不到。我是网络开发的新手,所以我很难弄明白。
问题:
当我为任何值设置最大宽度时,文本超出单元格。我需要找到一种方法来包装它。是否可以通过小部件属性来做到这一点?谢谢回答
<?php
echo GridView::widget([
'dataProvider' => $provider,
'options' => ['style' => 'max-height:30px;',
'max-width:10px;',
],
'columns' => [
['class' => 'yii\grid\SerialColumn',
'contentOptions'=>['style'=>'width: 30px;']],
//subject
[
'attribute' => 'subject',
'format' => 'text',
'label' => 'Subject',
'contentOptions'=>[
'style'=>
['width: 10px;',],
]
],
//body
[
'attribute' => 'body',
'format' => 'text',
'label' => 'Body',
'contentOptions'=>['style'=> 'max-width: 100px;', 'height: 100px']
],
['class' => 'yii\grid\ActionColumn',
'controller'=>null,
'header'=>'Action',
'headerOptions' => ['width' => '70'],
],
],
'tableOptions' =>['class' => 'table table-striped table-bordered'],
]);
?>
您的 style
声明是错误的。 Yii2 使用 cssStyleFromArray
生成 html style
标签属性。正确的格式是每个 属性:
的键值对数组
'contentOptions' => ['style' => ['max-width' => '100px;', 'height' => '100px']]
话虽如此,最好在样式表中创建一个新的 css 规则并在列中添加一个 class:
'contentOptions' => ['class' => 'text-wrap']
这对我来说非常有效:
[‘attribute’=>‘whatever’, ‘contentOptions’ => [‘style’ =>‘white-space:pre-line;’],],
我一直试图在互联网上找到答案,但我什么都找不到。我是网络开发的新手,所以我很难弄明白。
问题: 当我为任何值设置最大宽度时,文本超出单元格。我需要找到一种方法来包装它。是否可以通过小部件属性来做到这一点?谢谢回答
<?php
echo GridView::widget([
'dataProvider' => $provider,
'options' => ['style' => 'max-height:30px;',
'max-width:10px;',
],
'columns' => [
['class' => 'yii\grid\SerialColumn',
'contentOptions'=>['style'=>'width: 30px;']],
//subject
[
'attribute' => 'subject',
'format' => 'text',
'label' => 'Subject',
'contentOptions'=>[
'style'=>
['width: 10px;',],
]
],
//body
[
'attribute' => 'body',
'format' => 'text',
'label' => 'Body',
'contentOptions'=>['style'=> 'max-width: 100px;', 'height: 100px']
],
['class' => 'yii\grid\ActionColumn',
'controller'=>null,
'header'=>'Action',
'headerOptions' => ['width' => '70'],
],
],
'tableOptions' =>['class' => 'table table-striped table-bordered'],
]);
?>
您的 style
声明是错误的。 Yii2 使用 cssStyleFromArray
生成 html style
标签属性。正确的格式是每个 属性:
'contentOptions' => ['style' => ['max-width' => '100px;', 'height' => '100px']]
话虽如此,最好在样式表中创建一个新的 css 规则并在列中添加一个 class:
'contentOptions' => ['class' => 'text-wrap']
这对我来说非常有效:
[‘attribute’=>‘whatever’, ‘contentOptions’ => [‘style’ =>‘white-space:pre-line;’],],