我正在创建一个基于模板的页面来呈现带有结果表的查询,当我选择一个结果时,相同的数据将作为表单呈现在一边。 我试着用一些单元格插入一个面板网格布局,所以每个单元格都有查询表单,另一个单元格将包含结果表格和其他必须插入的细节。 这是基本布局:
当我更改单元格的属性以便我可以看到表格和其他所有内容时,会发生以下两种情况之一:表格填满所有页面(宽度)或者它保持非常小,我必须使用滚动条查看所有内容数据。我想要的是该表使用单元格中可用的所有宽度。
有人可以通过网格布局帮助我这样做吗?还是有其他方式,例如我可以使用的拉伸布局?
由于
答案 0 :(得分:1)
我会说只使用两个嵌套的拉伸布局,会给你带来干净利落的结果。
<af:panelStretchLayout>
<f:facet name="top">
<!-- fixed size header -->
</f:facet>
<f:facet name="start">
<!-- fixed size menu -->
</f:facet>
<f:facet name="center">
<af:panelStretchLayout>
<f:facet name="top">
<!-- search form -->
</f:facet>
<f:facet name="end">
<!-- right block -->
</f:facet>
<f:facet name="center">
<!-- table -->
</f:facet>
</af:panelStretchLayout>
</f:facet>
</af:panelStretchLayout>
不要忘记为需要它的组件设置拉伸选项。
答案 1 :(得分:0)
假设菜单和标题是您在页面中使用的模板的一部分,这是实现布局结构的一种方法
- panelStretchLayout
- facet name="center"
- panelGroupLayout (layout="vertical" styleClass="AFStretchWidth")
- search form
- panelStretchLayout (endWidth="100px" dimensionsFrom="auto")
- facet name="center"
- table ( columnStretching="last" styleClass="AFStretchWidth")
- facet name="end"
- form
答案 2 :(得分:0)
你是如何定义细胞的?将第一个和最后一个单元格宽度设置为固定大小。 然后中间单元应该具有halign = stretch。 来自doc: http://docs.oracle.com/cd/E26098_01/apirefs.1112/e17491/tagdoc/af_gridCell.html
如果(1)它是gridCell内部的唯一组件,则该组件可以拉伸子组件,(2)单元格&#34; halign&#34;是&#34;伸展&#34;,(3)细胞&#34; valign&#34;是&#34;拉伸&#34;,(4)单元格的有效宽度是非自动的,(5)如果单元格的有效高度是非自动的。
答案 3 :(得分:0)
我建议使用面板网格布局,这是ADF在11.1.2版中改进的面板网格布局组件。
ADF应用程序通常从可拉伸的外部布局容器开始,该容器将其子级拉伸,因此使外部布局面板网格的行高为100%,宽度为100%
面板网格的优点是它与HTML表格的布局方式匹配,因此与其他ADF布局组件相比,它具有良好的性能。