2015-04-20 30 views
11

Pracuję z Yii 2, i to gridview, aby wyświetlić informacje.Jak zmienić tło 1 wiersza w Gridview Yii2

Moim problemem jest to, że gdy użytkownik skanuje dwa identyczne numery seryjne i/lub adresy MAC, powinien podświetlić wiersz (zmienić kolor na czerwony) i pokazać jakiś znak błędu lub cokolwiek innego.

Zrzut ekranu: Current Grid View

Co chcę wyglądać:

Desired Grid Highlighting

Jestem nowy Yii2 i nie wiem dokładnie, jak oni to robią z GridView . Badałem ten konkretny problem, ale nie mogłem nic znaleźć.

Kod GridView (nic specjalnego)

<?= 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 ''; 
       }, 
      ], 
     ], 
    ], 
]); ?> 

Czy ktoś może mi pomóc? Podobny byłby link, a nawet nieco odpowiedni Q/A!

EDIT

Chcę tylko wiedzieć, jak zmienić kolor tylko jeden wiersz, mogę zrobić sprawdza się! :)

Odpowiedz

3

Dziękujemy za zamieszczenie swojej odpowiedzi na Paramone. Pracował świetnie.

Oto moja realizacja:

<?= GridView::widget([ 
    'dataProvider' => $dataProvider, 
    'rowOptions' => function ($model) { 
     if ($model->name == 'test') { 
      return ['class' => 'info']; 
     } 
    }, 
+0

Nie ma problemu w ogóle, zadowolony, że to pomogło cię! ;) – Paramone