Trong GridPanel, chúng ta đều biết rằng chúng ta có thể chỉ định renderer
trong cấu hình cột để có ô tùy chỉnh. Bây giờ có trường hợp đặc biệt này mà tôi cần phải xây dựng một thanh tiến trình trực quan (canvas) tùy chỉnh được vẽ vào một ô, câu hỏi của tôi là cách lấy số el
của ô?ExtJS 4 GridView - Cách lấy td hoặc div của ô?
Trong callback renderer, giá trị có sẵn là value
, metadata
, record
, rowIndex
, columnIndex
, store
, và view
. Tôi đã thử view.getNode
hoặc view.getCell
mà không có may mắn.
Cảm ơn bạn trước!
/Lionel
EDIT
Sau khi một số đào phá hơn nữa, tôi nhận ra các nút của tôi là trên thực tế chưa sẵn sàng vào thời điểm các renderer được gọi, có nghĩa là, view.getNode
và view.getCell
là trong thực tế làm việc , nhưng bị trì hoãn (nó trả về null mọi lúc)
Cách giải quyết là sử dụng setTimeout
và hiển thị các phần tử sau khi các nút sẵn sàng. Đây chắc chắn không phải là cách tốt nhất để giải quyết vụ án. Bất cứ đề nghị được hoan nghênh anyway :)
/Lionel
Tôi tin rằng có cách để giải quyết trường hợp này. Nhưng chỉ trong trường hợp đây không phải là cách chính xác, bất kỳ đề xuất được chào đón quá. –
cố gắng sử dụng truy vấn dom của lớp css – atian25
Không có cách nào sạch hơn? Tôi nghĩ rằng họ sẽ vạch trần el ở đâu đó trong 'view' –