gpt4 book ai didi

java - 如何获取 GWT CellTable 分页的总行数

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:22:41 24 4
gpt4 key购买 nike

我正在尝试在 CellTable 中实现分页,但它目前显示的是“1-10 of 10”记录,而不是“1-10 of 1000”记录。我不确定在哪里可以更新总记录数。我的 AsyncDataProvider 看起来像这样:

    AsyncDataProvider<OutletSearchVO> latestProvider = new AsyncDataProvider<OutletSearchVO>() {

@Override
protected void onRangeChanged(HasData<OutletSearchVO> display) {
final int start = display.getVisibleRange().getStart();
int length = display.getVisibleRange().getLength();
AsyncCallback<List<OutletSearchVO>> callback = new AsyncCallback<List<OutletSearchVO>>() {
@Override
public void onFailure(Throwable caught) {
Window.alert(caught.getMessage());
}

@Override
public void onSuccess(List<OutletSearchVO> result) {
updateRowData(start, result);
}
};
// The remote service that should be implemented
service.getOutletPage(start, length, callback);

}
};

我用来抓取记录的 SQL 与此类似:

SELECT *
FROM (SELECT outlet_id,
outlet_name,
image,
ROWNUM rn
FROM ( SELECT outlet_id outlet_id,
account_name outlet_name,
image_score image,
FROM outlets)
ORDER BY OOI.created_on DESC, OOI.account_name))
WHERE rn > ? AND rn < ?

在准备好的语句中,问号被替换为开始和结束范围。

最佳答案

您必须从您的 AsyncDataProvider 中调用 updateRowCount(类似于您调用 updateRowData 的方式),这意味着您必须询问您的服务器对于该计数(或至少是一个近似值,然后选择是将 true 还是 false 作为 updateRowCount 的第二个参数传递)。

当然,您也可以从 onRangeChange 外部调用 updateRowCount,特别是如果您可以预先知道您将拥有多少行,并且该数字不会发生变化改变那么多。

关于java - 如何获取 GWT CellTable 分页的总行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10144466/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com