Tôi đang sử dụng CellTable để hiển thị bản ghi của mình nhưng hiện tại, tôi muốn hiển thị hộp chọn khi người dùng nhấp vào một ô. Một điều nữa là hộp chọn là tiện ích của riêng tôi, không phải là một tiện ích được xác định trước. Bạn có thể gợi ý cho tôi bất kỳ phương pháp làm điều này?Làm cách nào để đặt tiện ích con vào ô CellTable?
Trả lời
Có một bài đăng trên nhóm google GWT thảo luận về the answer. Về cơ bản bạn tạo widget tùy chỉnh của bạn như bình thường, và bên trong hàm render bạn sử dụng widget.getElement(). GetInnterHTML().
@Override
public void render(com.google.gwt.cell.client.Cell.Context context,
String value, SafeHtmlBuilder sb) {
if (value != null) {
MyWidget widget = new MyWidget(value);
sb.appendEscaped(widget.getElement.getInnerHTML());
}
}
Thay vì sử dụng widget.getElement.getInnerHTML(), tôi đang sử dụng widget.getElement.getString(), vì nó bao gồm HTML bên ngoài. –
có thể sử dụng lại cùng một tiện ích để hiển thị HTML cho từng ô không? (Tôi có lẽ nên chỉ viết một số mã để tìm hiểu .. nhưng chỉ hấp dẫn ..) – HaveAGuess
Một số thời gian trước đây tôi phải đối mặt với vấn đề tương tự (cố gắng chèn một widget tùy chỉnh vào ô CellList), nhưng tiếc là không tìm thấy một giải pháp dễ dàng.
Nói chung, bạn có thể triển khai lớp ô cụ thể, mở rộng AbstractCell hoặc ActionCell. Trong trường hợp này, bạn sẽ phải ghi đè phương thức render() và thực hiện hiển thị của riêng bạn. Ví dụ tốt được đưa ra trong AbstractCell class javadoc.
Đây là mẫu chống. Toàn bộ mục đích của các tế bào là để bạn không có vật dụng: bạn có nghĩa vụ phải "render" html trực tiếp trong tế bào.
tại sao họ thêm hỗ trợ widget UIBinder cho celltables sau đó? (không chính xác trích dẫn nhưng từ chuỗi: http://groups.google.com/group/google-web-toolkit/browse_thread/thread/9cfb4a3b5c4af0be/b75305d15a1c32e8?lnk=gst&q=celltable+widget#b75305d15a1c32e8) – HaveAGuess
có thể là, nhưng đôi khi không thể tránh khỏi – jabal
Tôi không đồng ý, đôi khi bạn không muốn làm phiền với HTML và chỉ cần để tiện ích hiển thị kết xuất GWT cho bạn. – RockyMM
Có một bài đăng trên nhóm Google GWT thảo luận câu trả lời. Về cơ bản bạn tạo widget tùy chỉnh của bạn như bình thường, và bên trong hàm render bạn sử dụng widget.getElement(). GetInnterHTML().
@Override
public void render(com.google.gwt.cell.client.Cell.Context context, String value, SafeHtmlBuilder sb) {
if (value != null) {
MyWidget widget = new MyWidget(value);
sb.appendEscaped(widget.getElement.getInnerHTML());
}
}
Nó hoạt động nhưng có một giới hạn:
- Bạn KHÔNG THỂ đính kèm bất kỳ điều khiển trực tiếp trên widget của bạn (bên ngoài hoặc bên trong).
ví dụ:
widget.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
// Won't work!!!
}
});
hay:
widget.getMyTextBox().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
// Won't work!!!
}
});
Có cách giải quyết nào cho giới hạn này không? Tôi thực sự muốn thực hiện một funcitonality như vậy. – nanospeck
có giao diện http: // stackoverflow.com/questions/4691801/how-can-i-render-a-clickabletextcell-as-an-anchor-in-a-gwt-celltable xem câu trả lời bằng 'thomas' – user949110
Lưu ý rằng sự kiện nhấp chuột sẽ được kích hoạt bất cứ khi nào ** bất cứ điều gì ** trong cột được nhấp. Nếu bạn có hai nút trong cột, bạn sẽ không thể phân biệt giữa các nút nào được nhấp. Trong trường hợp này, hãy tham khảo câu trả lời này - http://stackoverflow.com/questions/9108317/gwt-celltable-need-to-have-two-buttons-in-last-single-cell-of-each-row. – Ben
- 1. Đặt id của tiện ích con GWT
- 2. Làm cách nào để thêm tiện ích subjectNameAlt vào X509_REQ?
- 3. Matplotlib: ô đường viền với tiện ích con trượt
- 4. Làm cách nào để đặt tiêu điểm cho tiện ích con nút theo lập trình?
- 5. cách đặt kích thước của tiện ích con trong tkinter?
- 6. Magento: Làm cách nào để đặt tiện ích vào bố cục xml?
- 7. Kiểu tiện ích con tùy chỉnh Android: cách đặt chúng vào không gian tên?
- 8. GWT có tiện ích con Đoạn không?
- 9. tự động thêm ảnh vào tiện ích con thư viện
- 10. Cách đặt chính xác biểu tượng tiện ích con lớn trong android
- 11. Đặt vị trí con trỏ trong tiện ích Văn bản
- 12. wxPython: Làm cách nào để tìm ra tiện ích con nào có tiêu điểm?
- 13. Làm cách nào để tạo ID duy nhất trong mẫu tiện ích con Dojo?
- 14. cách mở ứng dụng từ tiện ích con trong android?
- 15. Làm cách nào để đặt màu nền của tiện ích con như hộp tổ hợp hoặc hộp xoay kép?
- 16. Làm cách nào để đặt tiện ích con ở trên và dưới chế độ xem danh sách?
- 17. Làm cách nào để kiểm tra tiện ích con trượt jQuery UI với Selenium IDE?
- 18. Tôi làm cách nào để tích hợp ứng dụng của mình với tiện ích con?
- 19. Làm cách nào để đặt nhiều kích thước tiện ích trong một gói ứng dụng?
- 20. Làm cách nào để ngăn tiện ích 'gem' truy cập vào thư mục chính của tôi?
- 21. Cách thêm tiện ích vào header.php trong wordpress?
- 22. Tiện ích con của Android để cập nhật
- 23. Lệnh để nhấp vào các mục của tiện ích con Tullynter Treeview?
- 24. Cách sử dụng setBackground với Tiện ích con Android
- 25. PHP: Làm cách nào để cài đặt tiện ích xà phòng?
- 26. Làm cách nào để đặt màu nền của tiện ích tab trong Trình tạo Qt?
- 27. Làm cách nào để đặt biểu tượng cho tiện ích mở rộng tệp của riêng tôi
- 28. Cách kiểm tra loại tiện ích con xem?
- 29. Làm cách nào để thêm tiện ích JavaScript vào blog được lưu trữ trên Wordpress.com?
- 30. Làm cách nào để bạn đăng nhập vào Firebug từ tiện ích mở rộng?
hãy [không sử dụng chữ ký hoặc tagline] (http://stackoverflow.com/faq#signatures) trong bài viết của mình. – meagar
Tôi có cùng một vấn đề - tôi cần phải hiển thị một số vật dụng khá nặng (về mặt logic của họ) vào các ô trong bảng. Những gì tôi muốn từ CellTable là để có thể cung cấp một nhà máy IsWidget được sử dụng để tạo ra các widget để vẽ từng ô trong một cột. Tôi không thể nhìn thấy một cách dễ dàng để làm điều này nhưng tôi không muốn thực hiện các bảng từ đầu. – drdozer