0

我正在使用 DataGrid 创建一个 GWT 应用程序。DataGrid 层次结构是:

RootLayoutPanel->DockLayoutPanel->DockLayoutPanel->LayoutPanel->DockLayoutPanel->DockLayoutPanel->DataGrid

除了添加到 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。

4

1 回答 1

0

您忘记声明提供的网格:

@UiField DataGrid<OwnershipInformation> ownershipGrid;

应该:

@UiField(provided=true) DataGrid<OwnershipInformation> ownershipGrid;
于 2013-10-24T11:22:01.430 回答