我正在研究wicket,我应该在
下显示我的数据<tr>
<td>Name</td>
<td>Single Player Score</td>
<td>Double Player Score</td>
<td>Total Score</td>
</tr>
<tr wicket:id="data">
<td wicket:id="name"></td>
<td wicket:id="singlePlayerScore"></td>
<td wicket:id="doublePlayerScore"></td>
<td wicket:id="totalScore"></td>
</tr>
我的播放器模型类如下: 具有属性singlePlayerScore,doublePlayerScore(),带有getter和setter的名称以及从数据库获取的列表数据的Player类。
来自SQLQuery的数据为;
name score gamemode
A 200 singlePlayerMode
A 100 doublePLayerMode
B 400 singlePlayerMode
B 300 doublePLayerMode
dataList == player.getScoreList();
我的PageableListView如下:
final PageableListView listView = new PageableListView("data",dataList,10){
@Override
protected void populateItem(Item item){
player = (Player)item.getModelObject();
item.add(Label("name",player.getName()));
item.add(Label("singlePlayerScore",player.getName()));
item.add(Label("doublePlayerScore",player.getName()));
item.add(Label("totalScore",String.valueOf(player.getSinglePlayerScore()+player.getDoublePlayerScore())));
}
}
我的问题是: 我得到的是:
Name single Player Score Double Player Score Total Score
A 0 100 100
A 200 0 200
B 0 300 300
B 400 0 400
如何在我的网页上实现以下视图?
Name single Player Score Double Player Score Total Score
A 200 100 300
B 400 300 700
请帮助我,为什么会发生这种情况? 我想我的列表有四个大小,这就是为什么渲染视图的原因之一? 那么我该怎么做才能得到渲染视图呢?
答案 0 :(得分:1)
您必须将SQL查询编辑为以下内容:
SELECT
name,
sum(singleplayerscore),
sum(doubleplayerscore),
(sum(singleplayerscore) + sum(doubleplayerscore)) AS totalscore
FROM `scorelist` GROUP BY name
通过这种方式,每个玩家的得分(列名称)相加,并创建一个额外的列,totalalscore,总得分。