這是我第一次使用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