【问题标题】:How to Text Wrap - DataGridView Yii2 framework如何文本换行 - DataGridView Yii2 框架
【发布时间】:2015-08-31 13:10:36
【问题描述】:

我一直试图在互联网上找到答案,但我可以找到任何东西。我是网络开发的新手,所以我很难弄清楚。

问题: 当我为任何值设置最大宽度时,文本超出单元格。我需要找到一种方法来包装它。是否可以通过小部件属性来做到这一点?谢谢你的回答

  <?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'],
     ]);
?>

【问题讨论】:

  • 我看不到图片。请提供或更好地解释。可能你不能上传图片。在这种情况下提供一个例子
  • 为什么在你的代码中使用 max-height 或 style height ?如果您使用此设置,文本换行将没有用......
  • 不是和这个类似吗? - jsfiddle.net/rzjvnpeu 我的意思是你先设置宽度然后换行。当我不设置此属性(最大宽度)列长度与文本一样长时,因此要阅读您需要向右滚动整个站点的所有内容
  • 不,我没有要求宽度,而是高度。对于宽度很清楚,您希望正确定义此值以获得更好的布局,但宽度?但是,您在 jsfiddle 中显示的是 css,您可以使用样式进行操作。

标签: php datagridview yii2 word-wrap


【解决方案1】:

您的style 声明错误。 Yii2 使用cssStyleFromArray 生成html 的style 标签属性。正确的格式是每个属性的键值对数组:

'contentOptions' => ['style' => ['max-width' => '100px;', 'height' => '100px']]

话虽如此,最好在样式表中创建一个新的 css 规则并在列中添加一个类:

 'contentOptions' => ['class' => 'text-wrap']    

【讨论】:

  • 文本换行类中的css属性应该是什么??
  • @981 应该是.text-wrap{max-width:"100px";, height:"100px"}
【解决方案2】:

这对我来说非常有效:

[‘attribute’=>‘whatever’, ‘contentOptions’ => [‘style’ =>‘white-space:pre-line;’],],

found here!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多