私はYii 2で作業しており、情報を表示するグリッドビューです。
現在、私の問題は、ユーザーが2つの同一のシリアル番号やMACアドレスをスキャンするたびに、行を強調表示(色を赤に変更)し、エラー記号などを表示することです。
スクリーンショット:
私はそれがどのように見えるようにしたい:
私はYii2が初めてであり、gridviewでどのように行うのか正確にはわかりません。私はこの特定の問題について調査してきましたが、何も見つかりませんでした。
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 '';
},
],
],
],
]); ?>
誰も私を助けることができますか?リンクまたはわずかに関連するQ/Aをいただければ幸いです!
[〜#〜] edit [〜#〜]
私は1行のみの色を変更する方法を知りたいだけです、私は自分でチェックをすることができます! :)
とった!
Yii2:GridViewの行にクラスを追加する(YouTube)
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'];
}
},