我已经查看了多个示例,了解如何从数据源构造一个TreeTable
fromContainer
并仅添加在Object[][]
. 我仍然坚持我的用例。
我有一个这样的豆...
public class DSRUpdateHourlyDTO implements UniquelyKeyed<AssetOwnedHourlyLocatableId>, Serializable
{
private static final long serialVersionUID = 1L;
private final AssetOwnedHourlyLocatableId id = new AssetOwnedHourlyLocatableId();
private String commitStatus;
private BigDecimal economicMax;
private BigDecimal economicMin;
public void setCommitStatus(String commitStatus) { this.commitStatus = commitStatus; }
public void setEconomicMax(BigDecimal economicMax) { this.economicMax = economicMax; }
public void setEconomicMin(BigDecimal economicMin) { this.economicMin = economicMin; }
public String getCommitStatus() { return commitStatus; }
public BigDecimal getEconomicMax() { return economicMax; }
public BigDecimal getEconomicMin() { return economicMin; }
public AssetOwnedHourlyLocatableId getId() { return id; }
@Override
public AssetOwnedHourlyLocatableId getKey() {
return getId();
}
}
这AssetOwnedHourlyLocatableId
是一个复合ID。看起来像...
public class AssetOwnedHourlyLocatableId implements Serializable, AssetOwned, HasHour, Locatable,
UniquelyKeyed<AssetOwnedHourlyLocatableId> {
private static final long serialVersionUID = 1L;
private String location;
private String hour;
private String assetOwner;
@Override
public String getLocation() {
return location;
}
@Override
public void setLocation(final String location) {
this.location = location;
}
@Override
public String getHour() {
return hour;
}
@Override
public void setHour(final String hour) {
this.hour = hour;
}
@Override
public String getAssetOwner() {
return assetOwner;
}
@Override
public void setAssetOwner(final String assetOwner) {
this.assetOwner = assetOwner;
}
}
我想生成一个网格,其中hour
s 被旋转到列标题中,并且location
是唯一的其他附加列标题。
例如,
Location 1 2 3 4 5 6 ... 24
将是列标题。
在每列下方,您可能会看到...
> L1
> Commit Status Status1 .... Status24
> Eco Min EcoMin1 .... EcoMin24
> Eco Max EcoMax1 .... EcoMax24
> L2
> Commit Status Status1 .... Status24
> Eco Min EcoMin1 .... EcoMin24
> Eco Max EcoMax1 .... EcoMax24
因此,如果我提供了一个,List<DSRUpdateHourlyDTO>
我想将其转换为上述演示格式。
最好的方法是什么?
我有一些额外的功能要求。
- 我希望能够在同一个表的只读视图和可编辑视图之间切换。
- 我希望能够完成到数据源(例如,JPAContainerSource)的往返。
- 我(最终)想要通过复合 id 的任何部分过滤项目。
我的挑战在于适应。我很理解这个简单的用例,我可以把列表简单地分解成 aBeanItemContainer
并使用addNestedContainerProperty
and setVisibleColumns
。将属性旋转到列中似乎让我很困惑。