4

私は何週間もCellListに取り組んでいますが、それは素晴らしいことです。

当時、70 を超える要素を含むリストを印刷したいと考えていましたが、CellList が 25 を超えて追加されていないことに気付きました: 0 から 24 までです。問題がプロジェクトに関連していないことを確認するために、テストすることにしました。新しい一族プロジェクトのコードですが、同じ結果になります。

これが私のコードです:

CustomCell bodyCell = new CustomCell();
CellList<String> coreCellList = new CellList<String>(bodyCell);
List<String> list = new ArrayList<String>();
for (int i=0; i<74; i++) {
    list.add("hello_"+i);
}
coreCellList.setRowData(0, list);
coreCellList.setRowCount(list.size(), true);

RootPanel.get().add(coreCellList);

と CustomCell:

public class CustomCell extends AbstractCell<String> {
interface Templates extends SafeHtmlTemplates {

        String style = "cell";

        @SafeHtmlTemplates.Template("<div class=\"" + style
                + "\" style = 'height : 15%'>{0}<br/></div>")
        SafeHtml cell(SafeHtml value);
    }

    private static Templates templates = GWT.create(Templates.class);

    @Override
    public void render(com.google.gwt.cell.client.Cell.Context context,
            String value, SafeHtmlBuilder sb) {
        SafeHtml safeValue = SafeHtmlUtils.fromString(value);

        SafeHtml rendered = templates.cell(safeValue);

        sb.append(rendered);
    }
}

ご協力ありがとうございました。

4

2 に答える 2

4

ページネーションが必要ない場合は、常に以下のコードを使用してCellTablesとCellListsを渡します。

public static void setupOnePageList(final AbstractHasData<?> cellTable) {
    cellTable.addRowCountChangeHandler(new RowCountChangeEvent.Handler() {
        @Override
        public void onRowCountChange(RowCountChangeEvent event) {
            cellTable.setVisibleRange(new Range(0, event.getNewRowCount()));
        }
    });
}
于 2012-05-11T19:10:58.643 に答える
0

CellList はデフォルトでページングを使用しており、ページ サイズは 25 です。SimplePager をページに追加すると、表示するデータを制御できます。

ページ サイズをデータのリストのサイズに設定してページングを無効にしないことをお勧めします。古いブラウザー (特に IE8 以前) では、プレゼンテーションの複雑さとファイルのサイズによっては深刻なパフォーマンスの問題が発生するためです。リスト。

Pager の追加については、DevGuideを参照してください。

// Create a SimplePager.
SimplePager pager = new SimplePager();

// Set the cellList as the display.
pager.setDisplay(cellList);
于 2012-05-04T14:36:24.517 に答える