如何在Yii2中的kv-GridView类中为标记添加css类

时间:2016-04-13 10:35:37

标签: yii2

我正在使用Kartik的GridView小部件,

GridView::widget([
            'id'=>'crud-datatable',
            'dataProvider' => $dataProvider,
            'filterModel' => $searchModel,
            'pjax'=>true,
            'contentOptions' => ['class' => 'form-control punjabi'],
            'headerOptions' => ['class' => 'text-center'],
            'columns' => require(__DIR__.'/_columns.php'),
])

在yii \ grid \ GridView类中,可以使用以下选项完成:

[
    'contentOptions' => ['class' => 'text-center'],
    'headerOptions' => ['class' => 'text-center']
],

但是在Kartik的GridView类中使用上述选项会产生错误:未定义的属性contentoptions

如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

contentOptionsyii\grid\Column而非yii\grid\GridView的属性。这些类需要应用于列,即

GridView::widget([
    ... //Other options here
    'columns' => [
        [
            'attribute' => 'name',
            'contentOptions' => ['class' => 'form-control punjabi'],
            'headerOptions' => ['class' => 'text-center'],
        ]
    ]
]

如果您想对所有单元格应用相同的样式,您可以创建自己的列类,设置contentOptionsheaderOptions的默认值,并使用该类而不是yii\grid\DataColumn