2013-05-10 76 views
0

我想构建一个具有分页控件的网格。据我所知,GWT的DataGrid提供Grid和SimplePager提供分页。UiBinder中的网格和寻呼机

我已在示例http://gwt.googleusercontent.com/samples/Showcase/Showcase.html#!CwCellTable

所示的方法,但是这仅仅是一个组合物,其中我的包裹成分既不是网格不是一个寻呼机,但两者的组合物。

如果我想扩展GWT的DataGrid以提供分页,我怎样才能使用UiBinder来实现?

如果问题不明确,请问任何数量的问题。谢谢。

回答

0

该示例使用一个DataGridSimplePager附着到UiBinder结构。两者都是小部件,彼此无关,因此您可以将它们附加到任何地方(如示例中所示)。

如果你已经有一个已经封装了DataGridSimplePager的结构,然后附上CompositeUiBinder,像任何其他部件。

一般而言,您不必延长DataGrid(或任何其他单元格窗口小部件)以提供分页。根据您的喜好,只需即可组成

希望能理解你的问题。

+0

感谢您的回复。但我不想只是组成,因为,那么我组成的小部件应该提供所有的网格API,否则用户将不得不从我的组合小部件中执行getGrid(),然后使用它。所以我需要扩展'DataGrid'。我不知道如何在UI binder – LPD 2013-05-10 11:22:03

1

如果我理解你正确,你想要一个SimplePager和DataGrid的元素在同一时间。我不明白的是为什么你需要这样的东西? 我只是没有得到你需要的和像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的吧:

<!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分页。我不知道如果这真的有效,我只做了一个类似于正常网格的东西。

希望它能帮助你。

+0

+1中做同样的事情。你已经正确理解我的问题。我会尝试一下,让你知道。非常感谢:) – LPD 2013-05-14 05:19:45

+0

我有疑问。 “MyDataGrid”是否强制从“Composite”扩展? – LPD 2013-05-14 05:29:33

+0

AbstractHasData extends Composite - > AbstractCellTable extends AbstractHasData - > DataGrid extends AbstractCellTable - > MyDataGrid扩展了DataGrid,所以它也扩展了Composite。 – Sarajog 2013-05-15 07:07:28