1

[JAVA]

我正在使用 CellTable 和 SimplePager,通过 RPC 在我的数据提供程序中获取数据。效果很好。

寻呼机显示例如“14-28 of 120”,这是正确的。当查询返回要显示的零个元素时,寻呼机显示“1-1 of 0”,即使我使用my_cellTable.setRowCount(0);

如何让它显示“0 of 0”?

4

2 回答 2

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);
    }
}
于 2012-05-15T01:05:07.587 回答
0

我所做的只是在元素数量为 0 时将寻呼机的可见性设置为 false。

于 2014-02-19T08:39:17.357 回答