У меня есть виджет gridview kartik на моей странице шаблонов Yii2, и в нем перечислены данные, полученные из базы данных, однако если данные слишком длинны, это показывает горизонтальную прокрутку в нижней части виджета, но я хочу, чтобы она автоматически обертывала содержимое столбца просто чтобы поместиться на странице. Вот мой код
<?= 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 не работает, потому что данные не имеют пробелов!
Вам нужно использовать max-width
в css.
Вроде как,
td { max-width: 100px; overflow: auto; /* optional */ word-wrap: break-word; }
Примечание. Протестировано в фрагменте кода.
Спасибо 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%; есть ли какое-то мнение?