java-如何将检票口组件插入到Wicket DataTable的“子行”中

提问

我希望将子行添加到我的DataTable中(如在How to insert ‘sub-rows’ into a Wicket DataTable中所做的那样),但是我想更进一步,并在为子行添加的html中添加我自己的自定义检票口组件.由于该问题中的额外HTML已添加到onRender中,因此添加组件始终为时已晚.还有另一种方法可以将标记和Wicket组件添加为DataTable的子行吗?

最佳答案

使用AbstractColumn而不是PropertyColumn.例如:

columns.put(new AbstractColumn<TestResult>(new Model<String>("test column")) {
    @Override
    public void populateItem(Item<ICellPopulator<TestResult>> cellItem, String componentId, IModel<TestResult> rowModel) {
        cellItem.add(new MyComponent(componentId));
    }
});