[JAVA]
我正在使用 CellTable 和 SimplePager,通过 RPC 在我的数据提供程序中获取数据。效果很好。
寻呼机显示例如“14-28 of 120”,这是正确的。当查询返回要显示的零个元素时,寻呼机显示“1-1 of 0”,即使我使用my_cellTable.setRowCount(0);
如何让它显示“0 of 0”?
[JAVA]
我正在使用 CellTable 和 SimplePager,通过 RPC 在我的数据提供程序中获取数据。效果很好。
寻呼机显示例如“14-28 of 120”,这是正确的。当查询返回要显示的零个元素时,寻呼机显示“1-1 of 0”,即使我使用my_cellTable.setRowCount(0);
如何让它显示“0 of 0”?
是的,有这个问题。要解决此问题,您需要创建自己的自定义寻呼机。扩展 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);
}
}
我所做的只是在元素数量为 0 时将寻呼机的可见性设置为 false。