CellTableからDataGridに切り替えようとしています。実際の変更は非常に簡単でした(APIはまったく同じです)-しかし、グリッドの幅と高さを明示的に設定しないと、グリッドを表示することはできません。CellTableでは、幅と高さを100%に設定するだけで十分でした。これが、私が望む動作です。
私の見解では、HotrizontalPanelに2つのセクションがあります。1つはいくつかのタブ(ボタン)を示し、もう1つはグリッドを示しています。タブがクリックされるたびに、グリッド領域がクリアされ、新しいグリッドが作成されます。
ビューは次のようになります。
<ui:style>
.expanded {
width: 100%;
height: 100%;
}
.simpleContainer {
border-top: 5px solid #484848;
border-bottom: 5px solid #484848;
}
</ui:style>
<c:SimpleContainer addStyleNames="{style.simpleContainer} SimpleContainer">
<g:HorizontalPanel>
<g:HorizontalPanel ui:field="headersContainer"/>
<g:FlowPanel ui:field="tablePanel" styleName="{style.expanded}"/>
</g:HorizontalPanel>
</c:SimpleContainer>
そして、これは実行中のアプリケーションからのHTMLのスナップです。
<div class="GKQJTVMDCNC-com-mycode-management-client-ui-panels-PropertiesPaneView_PropertiesPaneUiBinderImpl_GenCss_style-simpleContainer SimpleContainer" id="x-widget-21" style="width: 1730px; height: 126px; ">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td align="left" style="vertical-align: top; ">....</td>
<td align="left" style="vertical-align: top; ">
<div class="GKQJTVMDBNC-com-mycode-management-client-ui-panels-PropertiesPaneView_PropertiesPaneUiBinderImpl_GenCss_style-expanded">
<div style="position: relative; overflow-x: hidden; overflow-y: hidden; " __gwtcellbasedwidgetimpldispatchingfocus="true" __gwtcellbasedwidgetimpldispatchingblur="true">
....
</div>
</div>
</td>
</tr>
</tbody>
</table>
上のdivには正しい幅と高さがありますが、どういうわけかDataGrid divには1pxの高さと0pxの幅があります(Chrome開発者ツールによるリストで)
<div class="GKQJTVMDBNC-com-mycode-management-client-ui-panels-PropertiesPaneView_PropertiesPaneUiBinderImpl_GenCss_style-expanded">
何か案が?