0

データソースTreeTableから fromを構築する方法と、 . それでも私は自分のユースケースにこだわっています。ContainerObject[][]

私はそのような豆を持っています...

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;
}

}

hours が列ヘッダーにピボットされ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の任意の部分でアイテムをフィルタリングしたいと考えています。

私の挑戦は適応にあります。リストを取得して、それを単純に分割してBeanItemContainerand を使用するという単純な使用例addNestedContainerPropertyをよく理解していますsetVisibleColumns。プロパティを列にピボットすることは、私を困惑させているようです。

4

1 に答える 1