データソースTreeTable
から fromを構築する方法と、 . それでも私は自分のユースケースにこだわっています。Container
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の任意の部分でアイテムをフィルタリングしたいと考えています。
私の挑戦は適応にあります。リストを取得して、それを単純に分割してBeanItemContainer
and を使用するという単純な使用例addNestedContainerProperty
をよく理解していますsetVisibleColumns
。プロパティを列にピボットすることは、私を困惑させているようです。