2012-06-18 35 views
9

Trong Yii, CGridView có màu nền riêng trong hàng. Nhưng điều tôi muốn làm là làm nổi bật hàng cụ thể dựa trên giá trị của một cột.Thay đổi Màu của hàng Dựa trên giá trị Cột trong CGridView

Ví dụ, tôi có ba cột, id, tên, trạng thái. Bây giờ, nếu giá trị của trạng thái là không hoạt động hoặc 0, tôi nên làm nổi bật hàng với một số màu sắc.

Tôi đọc tài liệu tham khảo lớp học một thời gian ngắn và cũng tìm kiếm trang web này. Nhưng không thể tìm ra giải pháp phù hợp. Nếu một số ví dụ hoặc một số hướng đối với các giải pháp đúng, đó sẽ được nhiều đánh giá cao.

Cảm ơn, Ujjwal

Trả lời

20

CGridView 'rowCssClassExpression' là cách để có được những gì bạn muốn.

$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider, 
    'rowCssClassExpression'=>'($data->myFlag==0)?"normal":"especial"', 
    'columns'=>array(
    ... 
    ), 
)); 

Bạn cũng có thể gọi hàm php tùy chỉnh và chuyển biến $ data tới nó. Hàm đó sẽ trả về tên lớp cho hàng đã cho :)

+0

Cảm ơn, Nó hoạt động !! –

+0

@UjjwalPrajapati bạn được chào đón :) – sucotronic

+0

Tôi đã nguyền rủa ing yii/zii trong khi tôi googled cho việc này. Xin lỗi vì 'ngay trên'! bình luận, nhưng tôi cảm thấy đặc biệt biết ơn vì sự sửa chữa dễ dàng. – tedders

1

Sử dụng rowCssClass và rowCssClassExpression cho các chức năng của mình. Tôi đã không thử nghiệm mã này nhưng mẹo bạn có thể sử dụng để nhận giải pháp của mình.

$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider, 
    'rowCssClass'=>array('odd','even'), 
    'rowCssClassExpression'=>($data->status==0)?even:odd, 
    'columns'=>array(
    ), 
)); 
+0

'rowCssClass' và 'rowCssClassExpression' là [loại trừ lẫn nhau] (http://code.google.com/p/yii/source/browse/tags/1.1 .10/framework/zii/widgets/grid/CGridView.php # 505) :( – sucotronic

+0

Và cũng có thể, trong khi tôi cố gắng sử dụng giá trị rowCssClassExpression không có dấu ngoặc kép, nó không hoạt động, điều kiện này luôn luôn sai. –

+0

Tôi đã nói rằng tôi đã không thử nghiệm mã này nhưng thủ thuật sẽ hoạt động –

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