[JAVA]
我正在使用CellTable和SimplePager,通过RPC在我的数据提供者中获取数据。效果很好。
寻呼机显示例如“14-28 of 120”,这是正确的。
当查询返回要显示的零元素时,即使我使用my_cellTable.setRowCount(0);
如何让它显示“0 of 0”??
答案 0 :(得分:3)
是的,有这个问题。要解决此问题,您需要创建自己的自定义寻呼机。扩展SimplePager
并覆盖方法createText()
。例如:
public class MySimplePager extends SimplePager {
@Override
protected String createText() {
NumberFormat formatter = NumberFormat.getFormat("#,###");
HasRows display = getDisplay();
Range range = display.getVisibleRange();
int pageStart = range.getStart() + 1;
int pageSize = range.getLength();
int dataSize = display.getRowCount();
int endIndex = Math.min( dataSize, pageStart + pageSize - 1);
endIndex = Math.max(pageStart, endIndex);
boolean exact = display.isRowCountExact();
if (dataSize == 0) {
return "0 of 0";
} else if (pageStart == endIndex) {
return formatter.format(pageStart)
+ " of "
+ formatter.format(dataSize);
}
return formatter.format(pageStart)
+ "-"
+ formatter.format(endIndex)
+ (exact ? " of " : " of over ")
+ formatter.format(dataSize);
}
}
答案 1 :(得分:0)
我所做的只是在元素数为0时将寻呼机的可见性设置为false。