GWT DataGrid虽然在LayoutPanels中不显示并添加到RootLayoutPanel

时间:2013-10-21 22:33:08

标签: gwt datagrid

我正在使用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。

1 个答案:

答案 0 :(得分:0)

您忘记声明所提供的网格:

@UiField DataGrid<OwnershipInformation> ownershipGrid;

应该是:

@UiField(provided=true) DataGrid<OwnershipInformation> ownershipGrid;