1

[JAVA]

CellTableとSimplePagerを使用して、RPCを介してデータプロバイダーでデータを取得しています。よく働く。

ポケットベルは、たとえば「14-28 of 120」を表示していますが、これは正しいです。クエリが表示する要素をゼロにすると、ポケットベルは「1-1of0」を表示します。my_cellTable.setRowCount(0);

「0of0」を表示するにはどうすればよいですか?

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 に答える