2015-04-20 16 views
11

Tôi đang làm việc với Yii 2, và đó là GridView để hiển thị thông tin. Bây giờ, vấn đề của tôi là bất cứ khi nào người dùng quét hai số sê-ri và/hoặc địa chỉ mac giống nhau, nó sẽ làm nổi bật hàng (thay đổi màu thành màu đỏ) và hiển thị một số dấu lỗi hoặc bất kỳ điều gì.Làm thế nào để thay đổi hình nền của 1 hàng trong Yii2 Gridview

Ảnh chụp màn hình: Current Grid View

Những gì tôi muốn nó trông giống như:

Desired Grid Highlighting

Tôi mới đến Yii2 và không biết chính xác làm thế nào họ làm điều đó với GridView . Tôi đã nghiên cứu về vấn đề cụ thể này nhưng không thể tìm thấy bất cứ điều gì.

Mã cho GridView (Không có gì đặc biệt)

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

bất cứ ai có thể giúp tôi? Một liên kết hoặc thậm chí một Q/A hơi có liên quan sẽ được đánh giá cao!

EDIT

Tôi chỉ muốn biết làm thế nào để thay đổi màu của chỉ một hàng, tôi có thể làm kiểm tra bản thân mình! :)

Trả lời

3

Cảm ơn cho đăng câu trả lời của bạn Paramone. Làm việc tuyệt vời.

Đây là triển khai thực hiện của tôi:

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

Không phải là một vấn đề gì cả, vui mừng nó giúp bạn ra ngoài! ;) – Paramone

Các vấn đề liên quan