我已经在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);
    }
}


谢谢您的帮助。

最佳答案

当我不想分页时,我总是使用下面的代码传递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()));
        }
    });
}

07-24 20:01