如何在 Yii2 Gridview 中更改 1 行的背景
How to change background of 1 row in Yii2 Gridview
我正在使用 Yii 2,它是显示信息的网格视图。
现在,我的问题是每当用户扫描两个相同的序列号 and/or mac 地址时,它应该突出显示该行(将颜色更改为红色),并显示一些错误符号或其他内容.
截图:
我想要的样子:
我是 Yii2 的新手,不完全了解他们如何使用网格视图。我一直在研究这个特定问题,但找不到任何东西。
Gridview 代码
<?= GridView::widget([
'id' => 'scan-batch-grid',
'dataProvider' => $dataProvider,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
['class' => 'yii\grid\CheckboxColumn'],
[
'attribute' => 'product_ID',
'value' => 'product.name'
],
'SN',
'MAC',
[
'class' => 'yii\grid\ActionColumn',
'urlCreator' => function ($action, $model, $key, $index) {
return Url::to(['scan-batch/view', 'id' => $key, 'scan' => $model->scan_batch_ID]);
},
'buttons' => [
'update' => function ($url, $model, $key) {
return '';
},
'delete' => function ($url, $model, $key) {
return '';
},
],
],
],
]); ?>
编辑
我只想知道如何只改变一行的颜色。
知道了!
Yii2 : Adding Classes to Rows in the GridView (YouTube)
Yii2 Gridview row by row css expression
只需将 rowOptions 添加到您的 gridview。
<?= GridView::widget([
'id' => 'scan-batch-grid',
'dataProvider' => $dataProvider,
'rowOptions'=>function($model){
if($a == $b){
return ['class' => 'danger'];
}
},
感谢您发布您的回答 Paramone。效果很好。
这是我的实现:
<?= GridView::widget([
'dataProvider' => $dataProvider,
'rowOptions' => function ($model) {
if ($model->name == 'test') {
return ['class' => 'info'];
}
},
我正在使用 Yii 2,它是显示信息的网格视图。
现在,我的问题是每当用户扫描两个相同的序列号 and/or mac 地址时,它应该突出显示该行(将颜色更改为红色),并显示一些错误符号或其他内容.
截图:
我想要的样子:
我是 Yii2 的新手,不完全了解他们如何使用网格视图。我一直在研究这个特定问题,但找不到任何东西。
Gridview 代码
<?= GridView::widget([
'id' => 'scan-batch-grid',
'dataProvider' => $dataProvider,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
['class' => 'yii\grid\CheckboxColumn'],
[
'attribute' => 'product_ID',
'value' => 'product.name'
],
'SN',
'MAC',
[
'class' => 'yii\grid\ActionColumn',
'urlCreator' => function ($action, $model, $key, $index) {
return Url::to(['scan-batch/view', 'id' => $key, 'scan' => $model->scan_batch_ID]);
},
'buttons' => [
'update' => function ($url, $model, $key) {
return '';
},
'delete' => function ($url, $model, $key) {
return '';
},
],
],
],
]); ?>
编辑
我只想知道如何只改变一行的颜色。
知道了!
Yii2 : Adding Classes to Rows in the GridView (YouTube)
Yii2 Gridview row by row css expression
只需将 rowOptions 添加到您的 gridview。
<?= GridView::widget([
'id' => 'scan-batch-grid',
'dataProvider' => $dataProvider,
'rowOptions'=>function($model){
if($a == $b){
return ['class' => 'danger'];
}
},
感谢您发布您的回答 Paramone。效果很好。
这是我的实现:
<?= GridView::widget([
'dataProvider' => $dataProvider,
'rowOptions' => function ($model) {
if ($model->name == 'test') {
return ['class' => 'info'];
}
},