GWT中的分页

San*_*tos 8 gwt

GWT支持分页吗?GWT是否提供GWT GUI元素?

Ser*_*llo 12

如果你需要表格分页,你可以尝试名为"CellTable"的GWT Widget.它是一个可自定义的表格,可以轻松支持分页.

您可以在此处找到更多信息(javadoc页面):http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/user/cellview/client/CellTable.html

这是一个如何使用它的示例:http: //gwt.google.com/samples/Showcase/Showcase.html#!CwCellTable


wil*_*100 6

正如@ caarlos0所提到的,CellTable是一个好的开始.您还可以查看GWT SimplePagerAsyncDataProvider.基本上,SimplePager将绑定到CellTable(或任何Cell小部件)和AsyncDataProvider.如果触发了页面更改事件(如用户单击下一页),则将在AsyncDataProvider中调用onRangeChanged(),并且可以自定义该函数中的分页行为.


mra*_*888 6

我尝试过与Celltable的分页,它很好.

在您的活动中,您应该执行与此类似的操作:

CellTable table;

@Override
public void start(AcceptsOneWidget panel, EventBus eventBus) {
    // Get the table from the view
    view.setPresenter(this);
    panel.setWidget(view.asWidget());
    table=view.getCellTable();
    final SingleSelectionModel<Your_Class> selectionModel = new SingleSelectionModel<Your_Class>();
    table.setSelectionModel(selectionModel);
    selectionModel.addSelectionChangeHandler(
        new SelectionChangeEvent.Handler() {
            public void onSelectionChange(SelectionChangeEvent event) {
                Your_Class selected = selectionModel.getSelectedObject();
                if (selected != null) {
                    // Go to edit screen with selected.getId(); 
                }
            }
        });
}
Run Code Online (Sandbox Code Playgroud)

然后在您的实现视图中创建列:

table = new CellTable<Your_Class>();
table.setSelectionModel( new SingleSelectionModel<Your_Class>());
Run Code Online (Sandbox Code Playgroud)

最后把分页:

SimplePager pager;
SimplePager.Resources pagerResources = GWT.create(SimplePager.Resources.class);
pager = new SimplePager(TextLocation.CENTER, pagerResources, true, 0,true);
pager.setDisplay(table);

dataProvider.setList(list_of_data);
pager.setPageSize(number_you_want);
Run Code Online (Sandbox Code Playgroud)


Ank*_*kit 5

建议是使用

Gwt-Ext或SmartGWT

它提供各种组件,包括本地分页和远程分页,可以节省你的燃烧午夜油.

  • 我不知道Gwt-Ext,但SmartGWT是一个可怕的混乱.如果您希望破坏您的网站性能并遇到许多令人困惑的问题,那么SmartGWT就是您的库. (2认同)

Reb*_*zie 5

如果您想要比SimplePager更多地控制接口,则可以扩展AbstractPager.然后你只需要覆盖onRangeOrRowCountChanged().你也可以实现延迟加载等好东西.然后,您可以对实现HasRows的任何窗口小部件进行分页.