Tengo un AjaxFallbackDefaultDataTable
que contiene una fila por resultado de prueba. Un resultado de prueba puede tener una nota adjunta a la misma, que debe ser claramente visible por debajo de la resultado de la prueba, es de esperar que da una tabla similar a la siguiente:Cómo insertar 'sub-filas' en una 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 |
¿Hay alguna manera de lograr esta inserción fila (preferiblemente con extensión de columna) usando las construcciones Wicket DataTable. A medida que profundizo en la fuente puedo encontrar Item
renderizadores, pero nada que se ocupe de una fila.
Actualmente tengo el siguiente:
// 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
Eso es tanto en términos absolutos en el clavo y una respuesta muy rápida. Muchas gracias por eso, me he estado rascando la cabeza sobre este problema durante la semana pasada. ¡Aclamaciones! – spikeheap
Sin problema Wicket es realmente fácil una vez que te das vuelta, pero eso lleva algo de tiempo. –
Es un poco feo renderizar tu propio HTML: o. Pero anular el nuevo RowItem es un buen comienzo, debe crear un Panel y agregarlo al elemento. – RobAu