Có thể bạn cần sử dụng thuộc tính classes cho cột tương ứng.
Tôi không chắc chắn đó là những gì bạn cần vì bạn đã viết về FormElement
lớp hiện có ở mẫu. Trong trường hợp bạn phải sử dụng beforeShowForm gọi lại của chỉnh sửa biểu mẫu ví dụ để thêm lớp vào trường nhập của trường tương ứng của biểu mẫu chỉnh sửa. Id của các trường trong biểu mẫu giống với thuộc tính name
của cột tương ứng là colModel
.
Nếu bạn thực sự cần phải thêm thuộc tính lớp vào các ô của một cột, bạn có thêm một khả năng: xác định cellattr
gọi lại cho cột colModel
. Cách này có thể thực tế nếu bạn cần thêm lớp không cho tất cả các ô của cột. Bạn có thể kiểm tra một số điều kiện dựa trên nội dung hàng và chỉ đặt lớp nếu điều kiện diễn ra. Ví dụ: việc sử dụng classes:'ui-state-error-text ui-state-error'
sẽ đặt hai lớp tương ứng (ui-state-error-text
và ui-state-error
) trên tất cả các ô trên cột. Ở phía bên kia các hàm callback
cellattr: function(rowId, val, rawObject) {
if (parseFloat(val) > 200) {
return " class='ui-state-error-text ui-state-error'";
}
}
cho phép bạn thiết lập các lớp chỉ nếu giá trị tế bào cao như 200. Tôi không sử dụng rawObject
trong callback trên và vì vậy người ta có thể loại bỏ các tham số tùy chọn. Tôi đã thêm nó trong chỉ gọi lại để nhắc nhở bạn rằng người ta có thể sử dụng tham số để truy cập vào các giá trị từ một cột khác của hàng. Vì vậy, bạn có thể triển khai các kịch bản phức tạp hơn trong cellattr
.
Kết quả là người ta có thể có được mạng lưới như trên hình ảnh sau đây:
CẬP NHẬT: Nếu bạn cần thêm class
trên các lĩnh vực đầu vào của các chỉnh sửa forme bạn bổ sung có thể sử dụng dataInit
gọi lại editoptions. Trong trường hợp sử dụng sẽ rất đơn giản. Bạn có thể làm ví dụ sau:
editoptions: {
dataInit: function (domElem) {
$(domElem).addClass("ui-state-highlight");
}
}
Kết quả là bạn sẽ nhận được các hình thức chỉnh sửa như
Bản demo bạn có thể tìm here.
Cảm ơn bạn Justin, tôi không biết tùy chọn này. Như tôi đã nói tôi biết rằng nó nên là một cái gì đó đặc biệt cho việc này. – Anatoliy