我正在尝试构建一个具有分页控件的网格。我知道GWT的DataGrid
提供了网格,SimplePager
提供了分页。
我采用了示例http://gwt.googleusercontent.com/samples/Showcase/Showcase.html#!CwCellTable
中显示的方法但这只是一个组合,我的包装组件既不是网格也不是传呼器,而是两者的组合。
如果我想扩展GWT的DataGrid
以提供分页,我如何使用UiBinder
来实现这一目标?
如果不清楚,请问我任何问题。感谢。
答案 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
结构的SimplePager
和UiBinder
。两者都是小部件并且彼此无关,因此您可以将它们附加到任何您想要的位置(如示例中所示)。
如果您已经有一个已经封装DataGrid
和SimplePager
的结构,那么将Composite
附加到UiBinder
,就像任何其他小部件一样。
通常,您不必扩展DataGrid
(或任何其他单元格小部件)来提供分页。只需根据您的喜好撰写结构。
希望能够理解你的问题。