2010-03-31 40 views
5

Về cơ bản những gì tôi muốn làm là áp dụng các lớp CSS bổ sung cho các ô riêng lẻ trong một lưới dữ liệu dựa trên giá trị của ô. Một ví dụ là tô màu văn bản màu đỏ khi giá trị đô la là số âm.Làm thế nào để bạn có điều kiện tạo kiểu ô trong lưới dữ liệu Dojo?

Giải pháp duy nhất tôi tìm thấy là sử dụng trình định dạng của cột để tạo chuỗi cho một khoảng có lớp dựa trên giá trị được truyền vào. Tôi hình dung có một cách tốt hơn.

Trả lời

9

Khi chỉ định cấu trúc, bạn chuyển vào đối tượng đại diện cho cấu hình tiện ích cho một cột nhất định. Là một phần của đối tượng này, bao gồm chức năng định dạng trong định nghĩa:

{ 
... 
formatter: function(val, rowIdx, cell) { 
    classes = compute_classes(val, rowIdx, cell); 
    cell.customClasses.push(classes); 
    } 
} 

tuy nhiên 'compute_classes' tính toán các lớp để sử dụng tùy thuộc vào bạn. Chúng sẽ được áp dụng cho ô, và sau đó bạn có thể quản lý sự xuất hiện của chúng trong CSS của bạn.

+1

Điều này gần như đã hiệu quả đối với tôi. Có thể vì tôi đang chạy phiên bản Dojo mới hơn. Giá trị phải được trả về hoặc nó sẽ không được hiển thị. 'return val;' sau khi đẩy các lớp. –

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