首页 文章

在Kartik Gridview Datacolumn中自动换行

提问于
浏览
5

我在我的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列,例如如何做到这一点?在这里我把截图小部件看起来如何
gridview no wrap column

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

2 回答

  • 0

    你需要在css中使用 max-width .

    像,

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

    Note: 在您的代码段上进行了测试 .

  • 0

    感谢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%;有什么意见吗?

相关问题