我有一个要在带有检票口的表格中显示的对象列表。这些对象由一个字符串和一个字符串数组组成。
我的问题是我不知道如何将此数组添加到我的表中。其次,我需要将一些 css 应用于数组的每个字符串,因此它们中的每一个都必须位于不同的 div/span/li 上。
连接所有这些元素并手动添加“div”是个好主意吗?
感谢您的帮助 :)
我一直沉迷于使用数据表。通过在列表中使用列表,它工作得很好!
爪哇:
ListView<Profil> listProfil = new ListView<Profil>("listProfils", profils) {
protected void populateItem(ListItem<Profil> item) {
Profil tmpProfil = item.getModelObject();
item.add(new Label("libelle", tmpProfil.getLibelle()));
item.add( new ListView("listChamps", tmpProfil.getChamps()) {
protected void populateItem(ListItem item) {
item.add(new Label("libelleChamps", item.getModel()));
}
});
}
});
以及相关的 HTML 模板:
<tr wicket:id="listProfils">
<div class="row">
<td class="col-xs-4 col-md-3 col-lg-3 text">
<span wicket:id="libelle"></span>
</td>
<td class="col-xs-7 col-md-8 col-lg-8 text" colspan="3">
<span wicket:id="listChamps">
<span wicket:id="libelleChamps"
class="label label-default badge badge-tag" >Champs</span>
</span>
</td>
</div>
</tr >
作为 Wicket 中的一个很好的做法,要在 HTML 中构建一个从 List 提供的 Table,您需要以下元素:
<table wicket:id="yourWicketIdOfDataTableObject">[table]
</table>
pojoObject
代表表中每个元素 ( o regiser
) 的POJO ( )
扩展自的 DataProvider ( dataProviderObject
) 类SortableDataProvider<pojoObject, String>
您需要根据需要覆盖iterator()
,size()
和model()
方法。
一种List<IColumn<pojoObject,String>> columnsObject
上面的对象将代表您的表格的列。
您可以按如下方式添加列:
columnsObject.add(new PropertyColumn<pojoObject,String>(new Model<String>("nameOfTheColum"),pojoObjectPropertyName))
一个 DefaultDataTable tableObject
:
DataTable<pojoObject, String> = new DefaultDataTable("yourWicketIdOfDataTableObject", columnsObject, dataProviderObject, NumOfColumns)
上面的对象将代表表格。
正如您可能看到的那样,pojoObject
被columnsObject
anddataProviderObject
包裹,这两个将被包裹tableObject
在最后。您的数组将在 的iterator()
方法中被访问dataProviderObject
,因为它需要检索列表的迭代器;代表实际列表中每个元素的pojoObject
将是必要的(如果您还没有)
最后,您只需要添加tableObject
他们的 Wicket Parent,就像任何其他 Wicket 组件一样。