4

20 ページに分割された 300 行以上の CellTable を作成しました。メニューに、ユーザーが列の値に基づいて行を強調表示できるコマンドがあります (Excel の条件付き書式設定に似ています)。

助けが必要なのは、現在のページにない行の行スタイルを変更することです。

Celltable と SimplePager のドキュメントに目を通しましたが、何も飛び出していません。私はGWTに非常に慣れていないので、どんな助けでも大歓迎です。

4

1 に答える 1

5

次のような関数を作成しました (redRow と yellowRow は CSS のスタイルです)。

private void highlightAlerts() {
    alertHighlight = true;
    Range range = siteTable.getVisibleRange();
    int start = range.getStart();
    for (int i=0; i<siteTable.getPageSize(); i++) {
        if (dataProvider.getList().get(start+i).alert.equals("Error"))
            siteTable.getRowElement(i).setClassName("redRow");
        else if (dataProvider.getList().get(start+i).alert.equals("Warning"))
            siteTable.getRowElement(i).setClassName("yellowRow");
    }

次に、ページャーでこれを onRowOrRowCountChanged() に追加して、ユーザーがテーブルのページを移動してもスタイルが保持されるようにしました。

protected void onRangeOrRowCountChanged() {
    super.onRowOrRountCountChanged();
    if (alertHighlight)
        highlightAlerts();
}
于 2012-05-29T16:26:08.253 に答える