【问题标题】:Auto wrap in Kartik Gridview Datacolumn在 Kartik Gridview 数据列中自动换行
【发布时间】:2015-10-13 12:29:35
【问题描述】:

我的 Yii2 模板页面中有一个 Kartik 的 gridview 小部件,它列出了从数据库中获取的数据,但是如果数据太长,它会在小部件底部显示水平滚动,但我希望它自动换行内容的列只是为了适应页面。这是我的代码

    <?= GridView::widget([
    'responsiveWrap' => false,
    'hover' => true,

    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        ['class' => 'kartik\grid\SerialColumn'],
        'conf_key',
        ['attribute' => 'conf_value',
            'class' => 'kartik\grid\DataColumn',
            'noWrap' => false
        ],

        'class_name',
        ['class' => 'kartik\grid\ActionColumn'],
    ],
]); ?>

我想包装 conf_value 列例如怎么做? 在这里,我放了小部件外观的屏幕截图

注意:noWrap 不起作用,因为数据没有空格!

【问题讨论】:

标签: php gridview yii2


【解决方案1】:

你需要在css中使用max-width

就像,

td {
    max-width: 100px;
    overflow: auto; /* optional */
    word-wrap: break-word;
}

注意:已在您的代码 sn-p 上测试。

【讨论】:

  • 在哪里写这个 css 我在 bootstrap.css 中找不到正确的 td 类(至少尝试过没有成功)
  • 我已将此 CSS 用作内部 CSS。但你可以使用 .kv-grid-table &gt; tbody &gt; tr &gt; td 之类的类。
【解决方案2】:

感谢 gamitg 给了我一盏灯,所以我将代码更改为

    <?= GridView::widget([
    'responsiveWrap' => false,
    'hover' => true,

    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        ['class' => 'kartik\grid\SerialColumn'],
        'conf_key',
        ['attribute' => 'conf_value',
            'class' => 'kartik\grid\DataColumn',
            'noWrap' => false,
            //the line below has solved the issue
            'contentOptions' => 
            ['style'=>'max-width: 350px; overflow: auto; word-wrap: break-word;']
            ,
        ],
        'class_name',
        ['class' => 'kartik\grid\ActionColumn'],
    ],
]); ?>

但我不能像 max-width: 50%;有什么意见吗?

【讨论】:

  • max-width 是宽度的最大值,表示内容区域的限制,所以你可以给pixelemn
猜你喜欢
  • 1970-01-01
  • 2010-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多