这是我第一次使用Yii2 GridView Widget。我试过在阅读stackoverflow的一些答案后尝试设置列的宽度,但它不适用于我,如果列宽度不同(特别是第一个),我会喜欢它。Yii2 GridView无法设置列宽
我已经尝试使用'contentOptions'直接为第一列和产品名称列的外部CSS文件设置宽度。
有人可以告诉我,如果有替代方案或如果有什么我做错了吗?
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
[
'class' => 'yii\grid\SerialColumn',
'contentOptions' => ['style' => 'max-width:20px;'],
],
[
'format' => 'raw',
'label' => 'Image',
'value' => function ($data) {
$url = $data->imgSrc;
return Html::img($url, ['width' => '40px']);
},
],
[
'attribute' => 'name',
'format' => 'raw',
'label' => 'Product name',
'contentOptions' => function ($model, $key, $index, $column) {
return ['class' => 'tbl_name'];
},
],
],
]); ?>
谢谢你的快速答复,但不幸的是,这不会为我工作(我忘了说我做尝试之前,只是再试一次,我得到了同样的结果),我真的不明白问题可能是什么。 – user2997695
它为我工作。你检查过萤火虫吗?该物业是否适用? – Chinmay
我想它确实如此,我只查看了页面源代码,而且好像在相应的td标签中添加了样式。我还注意到,当删除网格的标题部分时,它确实起作用,但这不是我所需要的,因为您可以使用收听器进行排序。最后,在检查表格的CSS时,我注意到了layout-table:fixed,并且我为该表格添加了一个新类并设置了layout-table:inherit。我知道这是一种解决方法,但它似乎以我需要的方式工作。仍然不知道为什么其他解决方案不起作用。不过谢谢您的帮助! – user2997695