我有一個AjaxFallbackDefaultDataTable
,其中每個測試結果包含一行。測試結果可以具有附接到其的說明,其需要在下面的試驗結果顯着地顯示,希望給予類似於下面的表:如何在'Wicket DataTable'中插入'子行'
| 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 |
有沒有任何方法來實現這一行插入(優選地具有列跨越)使用Wicket DataTable構造。當我深入到源代碼中時,我可以找到Item
渲染器,但沒有涉及到任何行。
目前,我有以下幾點:
// 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
這是絕對的現貨和非常快速的答覆。非常感謝,過去一週我一直在爲這個問題撓頭。乾杯! – spikeheap 2010-09-29 17:09:46
沒有問題。 Wicket實際上很容易,一旦你將頭圍繞在它上面,但這需要一些時間。 – 2010-09-29 19:54:18
渲染自己的HTML有點醜陋:o。但是重寫newRowItem是一個好的開始,您應該創建一個Panel並將其添加到該項目中。 – RobAu 2014-03-10 09:14:19