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