Tôi có một AjaxFallbackDefaultDataTable
chứa một hàng cho mỗi kết quả thử nghiệm. Một kết quả thử nghiệm có thể có một lưu ý gắn liền với nó, mà cần phải được hiển thị nổi bật bên dưới kết quả kiểm tra, hy vọng đưa ra một bảng tương tự như sau:Cách chèn 'các hàng phụ' vào một Bảng dữ liệu Wicket
| Test | Result | Appraisal |
|------|--------|-----------|
| 1 | 20.0 | PASS |
| 2 | 1.50 | FAIL |
| Note: This is an epic fail|
| 3 | 19.4 | PASS |
| 4 | 14.9 | PASS |
Có cách nào để đạt được chèn hàng này (tốt nhất với cột spanning) bằng cách sử dụng cấu trúc Wicket DataTable. Khi tôi đào sâu vào nguồn, tôi có thể tìm thấy các trình kết xuất Item
nhưng không có gì liên quan đến một hàng.
Hiện nay tôi có như sau:
// Create the sortable data provider.
SortableDataProvider<TestResult> provider = new SortableDataProvider<TestResult>() {
//... hibernate pagination code ...
};
List<IColumn> columns = new ArrayList<IColumn>();
columns.add(new TextFilteredPropertyColumn(new Model<String>("Test"), "test", "test"));
columns.add(new TextFilteredPropertyColumn(new Model<String>("Result"), "result", "result"));
columns.add(new TextFilteredPropertyColumn(new Model<String>("Appraisal"), "appraisal", "appraisal"));
// Create a new AJAX table using the sortable, filtered data provider.
final AjaxFallbackDefaultDataTable dataTable = new AjaxFallbackDefaultDataTable("testResultTable", columns.toArray(new IColumn[0]), provider, 20);// 20 = number of rows per page
Đó là cả hai hoàn toàn tại chỗ và trả lời rất nhanh. Rất cám ơn vì điều đó, tôi đã gãi đầu về vấn đề này trong tuần qua. Chúc mừng! – spikeheap
Không có prob. Wicket thực sự dễ dàng một khi bạn quấn đầu của bạn xung quanh nó, nhưng phải mất một thời gian. –
Rất tiếc khi hiển thị HTML của riêng bạn: o. Nhưng việc ghi đè newRowItem là một khởi đầu tốt, bạn nên tạo một Panel và thêm nó vào mục đó. – RobAu