gpt4 book ai didi

wicket - 用 apache wicket 填充表

转载 作者:行者123 更新时间:2023-12-01 05:02:12 24 4
gpt4 key购买 nike

我需要动态填充这样的表。问题是,它不是一个简单的表。它具有“rowspan”特性。

对于单个条目,有多个字段条目存储在不同的行中。

用 Wicket 填充这有点棘手。任何帮助,建议,建议都会很棒。

这是表格在 HTML 页面上的样子:
https://jsfiddle.net/sayrandhri/4ktmy6cn/2/

<table>
<tr>
<th>Name</th>
<th>Role</th>
<th>Company</th>
<th>Request</th>
<th>Change</th>
</tr>
<tr>
<td rowspan=2>ABC</td>
<td rowspan=2>User</td>
<td>Y</td>
<td>True</td>
<td>False</td>
</tr>
<tr>
<td>Telecom</td>
<td>True</td>
<td>False</td>
</tr>
<tr>
<td rowspan=3>XYZ </td>
<td rowspan=3>User</td>
<td>O </td>
<td>False</td>
<td>False</td>
</tr>
<tr>
<td>Q</td>
<td>True</td>
<td>True</td>
</tr>
<tr>
<td>R</td>
<td>False</td>
<td>False</td>
</tr>
</table>

最佳答案

您可以尝试以下方法:

HTML:

<table>
<tr>
<th>Name</th>
<th>Role</th>
<th>Company</th>
<th>Request</th>
<th>Change</th>
</tr>
<tbody wicket:id="userList">
<tr wicket:id="providerList">
<td wicket:id="userName"></td>
<td wicket:id="roleName"></td>
<td wicket:id="provider"></td>
<td wicket:id="request"></td>
<td wicket:id="change"></td>
</tr>
</tbody>
</table>

java :
add(new ListView<User>("userList", new PropertyModel<>(this, "users")) {

@Override
protected void populateItem(ListItem<User> listItem) {
final User user = listItem.getModelObject();
listItem.add(new ListView<Provider>("providerList", user.getProviders()) {

@Override
protected void populateItem(ListItem<Provider> listItem) {
final Provider provider = listItem.getModelObject();

Label nameLabel = new Label("userName", user.getName());
Label roleNameLabel = new Label("roleName", user.getRoleName());
listItem.add(nameLabel);
listItem.add(roleNameLabel);

if (user.getProviders().indexOf(provider) == 0) {
AttributeAppender attributeAppender =
AttributeAppender.append("rowspan", user.getProviders().size());
nameLabel.add(attributeAppender);
roleNameLabel.add(attributeAppender);
} else {
nameLabel.setVisible(false);
roleNameLabel.setVisibilityAllowed(false);
}

listItem.add(new Label("provider", provider.getName()));
listItem.add(new Label("request", provider.isRequest()));
listItem.add(new Label("change", provider.isChange()));
}
});
}
});

请注意,这样没有任何提供商的用户根本不会出现在列表中。

关于wicket - 用 apache wicket 填充表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31938785/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com