Oracle11g 面板网格布局还是拉伸面板?
我正在创建一个基于模板的页面,以显示带有结果表的查询,当我选择一个结果时,将显示与表单侧边显示的数据相同的数据。 我试着用一些单元格插入一个面板网格布局,这样每个单元格都有一个查询表单,另一个到结果表,以及我必须插入的其他细节。 这是基本布局: 当我更改单元格位置以便查看表格和其他所有内容时,会发生以下两种情况之一:表格填满所有页面(宽度),或者它保持非常小,我必须使用滚动条查看所有数据。我想要的是表格使用单元格中的所有可用宽度 有人能帮我用网格布局来做这件事吗?或者有没有其他方法,比如我可以使用拉伸布局Oracle11g 面板网格布局还是拉伸面板?,oracle11g,oracle-adf,jdeveloper,jspx,Oracle11g,Oracle Adf,Jdeveloper,Jspx,我正在创建一个基于模板的页面,以显示带有结果表的查询,当我选择一个结果时,将显示与表单侧边显示的数据相同的数据。 我试着用一些单元格插入一个面板网格布局,这样每个单元格都有一个查询表单,另一个到结果表,以及我必须插入的其他细节。 这是基本布局: 当我更改单元格位置以便查看表格和其他所有内容时,会发生以下两种情况之一:表格填满所有页面(宽度),或者它保持非常小,我必须使用滚动条查看所有数据。我想要的是表格使用单元格中的所有可用宽度 有人能帮我用网格布局来做这件事吗?或者有没有其他方法,比如我可以
谢谢假设菜单和标题是您在页面中使用的模板的一部分,下面是实现布局结构的一种方法
- 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
我要说的是,只需使用两个嵌套的拉伸布局,就会得到良好且干净的结果
<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>
不要忘记为需要拉伸的组件设置拉伸选项。您是如何定义单元格的?将第一个和最后一个单元格宽度设置为固定大小。 然后中间的单元格应具有halign=拉伸。 从文档:
如果(1)它是gridCell内部的唯一组件,(2)单元格的“halign”是“stretch”;(3)单元格的“valign”是“stretch”;(4)单元格的有效宽度是非自动的,以及(5)单元格的有效高度是非自动的,则此组件可以拉伸子组件。我建议使用面板网格布局,ADF在11.1.2版中改进了面板网格布局组件
ADF应用程序通常从一个可拉伸的外部布局容器开始,该容器可以拉伸其子级,从而使外部布局面板具有100%高的行和100%宽的网格
panel grid的优点是它与HTML表格的布局方式相匹配,因此与其他ADF布局组件相比,它提供了良好的性能。Uh-oh,避免这样做。不要将拉伸容器放入流动容器中。感谢@Nagh指出错误。我现在不需要更正它,因为您已经用正确的方法回答了它:-)