我正在使用DataGrid创建一个GWT应用程序。 DataGrid层次结构是:
RootLayoutPanel-> DockLayoutPanel-> DockLayoutPanel-> LayoutPanel-> DockLayoutPanel-> DockLayoutPanel->数据网格
除了添加到RootLayoutPanel之外,结构全部在uiBinder XML中定义
使用以下代码将DataGrid包含在XML中
<g:ScrollPanel>
<c:DataGrid ui:field='ownershipGrid' visible="true"/>
</g:ScrollPanel>
在我看来,我有
@UiField
DataGrid<OwnershipInformation> ownershipGrid;
...
ownershipGrid = new DataGrid<OwnershipInformation>(OwnershipInformation.KEY_PROVIDER);
ownershipGrid.setMinimumTableWidth(140, Style.Unit.EM);
ownershipGrid.setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy .KeyboardSelectionPolicy.ENABLED);
... add comlumns to ownershipGrid ...
ownershipInformationList.addDataDisplay(ownershipGrid);
但是,我仍然没有让我的桌子显示。我已经调用了ownershipGrid.getRowCount(),它显示为有6行,所以我知道数据就在那里。包含DataGrid的面板都是可见的。
问候,理查德
问题是在uiBinder中添加DataGrid后,我调用new并将私有变量指向未显示的其他DataGrid。
答案 0 :(得分:0)
您忘记声明所提供的网格:
@UiField DataGrid<OwnershipInformation> ownershipGrid;
应该是:
@UiField(provided=true) DataGrid<OwnershipInformation> ownershipGrid;