0

「インシデント」を表示する GridView を構築するために GXT 3 を使用しています。

私がやりたいことは、それをレンダリングするときに、データベースのブール値に従って、いくつかのチェックボックスをオンにし、他のチェックボックスを空にすることです。

以下に私のコードがあります:

        CheckBoxSelectionModel<IncidentDto> isIncidentCM = new CheckBoxSelectionModel<IncidentDto>(incidentProperties.incident());
        allColumns.add(isIncidentCM.getColumn());
        ColumnModel<IncidentDto> columnModel = new ColumnModel<IncidentDto>(allColumns);

        final Grid<IncidentDto> grid = new Grid<IncidentDto>(store, columnModel);
        grid.setSelectionModel(isIncidentCM);
        add(grid);

IncidentProperties 値プロバイダー:

IdentityValueProvider<IncidentDto> incident();
4

1 に答える 1

1

選択値をブールプロパティにバインドできるかどうかはわかりませんが、グリッドにリスナーを追加して、ブール条件に基づいてチェックボックスを更新することはできます。

grid.addBeforeShowHandler(BeforeShowEvent event) {
  @Override
  public void onBeforeShow(BeforeShowEvent event) {
    List<IncidentDto> itemsToSelect = new ArrayList<IncidentDto>();
    for (IncidentDto incident : store.getAll()) {
      if (incident.getBooleanProperty()) { //whatever your property is called
        itemsToSelect.add(incident);
      }
    }
    isIncidentCM.setSelection(itemsToSelect);
  }
}

ストアにデータを入力する方法やタイミング、グリッドのレンダリングなどによっては、BeforeShowEventの使用に他の影響がある場合がありますが、ストアが完全に読み込まれ、ストアオブジェクトからプロパティを利用できると仮定すると、これで目標を達成できると思います。

于 2013-01-11T16:18:36.397 に答える