UiBinder中的网格和寻呼机

时间:2013-05-10 09:25:14

标签: gwt uibinder

我正在尝试构建一个具有分页控件的网格。我知道GWT的DataGrid提供了网格,SimplePager提供了分页。

我采用了示例http://gwt.googleusercontent.com/samples/Showcase/Showcase.html#!CwCellTable

中显示的方法

但这只是一个组合,我的包装组件既不是网格也不是传呼器,而是两者的组合。

如果我想扩展GWT的DataGrid以提供分页,我如何使用UiBinder来实现这一目标?

如果不清楚,请问我任何问题。感谢。

2 个答案:

答案 0 :(得分:1)

如果我理解正确,你想要一个同时是SimplePager和DataGrid的Element。我不明白为什么你需要这样的东西? 我只是没有得到你需要的东西和http://gwt.googleusercontent.com/samples/Showcase/Showcase.html#之类的作品!没有?如果你需要能够调用DataGrid的函数,那么我想你会创建一个扩展DataGrid的类。

public class MyDataGrid extends DataGrid<EngineJobDTO> {

    private static MyDataGridUiBinder uiBinder = GWT.create(MyDataGridUiBinder.class);


    interface MyDataGridUiBinder extends UiBinder<Widget, MyDataGrid> {
    }


    @UiField
    SimplePager pager;


    public MyDataGrid() {
        initWidget(uiBinder.createAndBindUi(this));
        SimplePager.Resources pagerResources = GWT.create(SimplePager.Resources.class);
        pager = new SimplePager(TextLocation.CENTER, pagerResources, false, 0, true);
        pager.setDisplay(this);
    }
}

UiBinder for it:

<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui"
xmlns:c="urn:import:com.google.gwt.user.cellview.client">
<c:SimplePager ui:field='pager'  location='CENTER'/>
</ui:UiBinder> 

然后你有自己的DataGrid和分页。我不知道如果这真的有用,我只用普通的网格做了类似的东西。

希望它会对你有所帮助。

答案 1 :(得分:0)

该示例使用附加到DataGrid结构的SimplePagerUiBinder。两者都是小部件并且彼此无关,因此您可以将它们附加到任何您想要的位置(如示例中所示)。

如果您已经有一个已经封装DataGridSimplePager的结构,那么将Composite附加到UiBinder,就像任何其他小部件一样。

通常,您不必扩展DataGrid(或任何其他单元格小部件)来提供分页。只需根据您的喜好撰写结构。

希望能够理解你的问题。

相关问题