面板网格布局还是拉伸面板?
Panel grid layout or stretch panel?
我正在创建一个基于模板的页面,以显示带有结果的查询 table,当我 select 结果与作为表单显示在侧面的数据相同时。
我已经尝试插入带有一些单元格的面板网格布局,因此每个单元格都会有查询表单,另一个是结果 table 和我必须插入的其他详细信息。
这是基本布局:
当我更改单元格属性以便我可以看到 table 和其他所有内容时,发生以下两种情况之一,table 填满整个页面(宽度)或者它保持非常小并且我必须使用滚动条才能查看所有数据。我想要的是 table 使用单元格中所有可用的宽度。
谁能帮我用网格布局来做这个,或者有其他方法吗,比如我可以使用的拉伸布局?
谢谢
假设菜单和 header 是您在页面中使用的模板的一部分,这是实现布局结构的一种方法
- 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=stretch。
从文档:
http://docs.oracle.com/cd/E26098_01/apirefs.1112/e17491/tagdoc/af_gridCell.html
如果 (1) 它是 gridCell 内部的唯一组件,(2) 单元格的 "halign" 是 "stretch",(3) 单元格的 "valign"是"stretch",(4)单元格的有效宽度是非自动的,(5)如果单元格的有效高度是非自动的。
我建议使用面板网格布局,ADF在11.1.2版本改进了面板网格布局组件
ADF 应用程序通常以可拉伸的外部布局容器开始,该容器会拉伸其子级,因此使外部布局面板网格具有 100% 的高度行和 100% 的宽度
面板网格的好处是它与 HTML 表格的布局方式相匹配,因此与其他 ADF 布局组件相比,它提供了良好的性能。
我正在创建一个基于模板的页面,以显示带有结果的查询 table,当我 select 结果与作为表单显示在侧面的数据相同时。
我已经尝试插入带有一些单元格的面板网格布局,因此每个单元格都会有查询表单,另一个是结果 table 和我必须插入的其他详细信息。
这是基本布局:
当我更改单元格属性以便我可以看到 table 和其他所有内容时,发生以下两种情况之一,table 填满整个页面(宽度)或者它保持非常小并且我必须使用滚动条才能查看所有数据。我想要的是 table 使用单元格中所有可用的宽度。
谁能帮我用网格布局来做这个,或者有其他方法吗,比如我可以使用的拉伸布局?
谢谢
假设菜单和 header 是您在页面中使用的模板的一部分,这是实现布局结构的一种方法
- 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=stretch。 从文档: http://docs.oracle.com/cd/E26098_01/apirefs.1112/e17491/tagdoc/af_gridCell.html
如果 (1) 它是 gridCell 内部的唯一组件,(2) 单元格的 "halign" 是 "stretch",(3) 单元格的 "valign"是"stretch",(4)单元格的有效宽度是非自动的,(5)如果单元格的有效高度是非自动的。
我建议使用面板网格布局,ADF在11.1.2版本改进了面板网格布局组件
ADF 应用程序通常以可拉伸的外部布局容器开始,该容器会拉伸其子级,因此使外部布局面板网格具有 100% 的高度行和 100% 的宽度
面板网格的好处是它与 HTML 表格的布局方式相匹配,因此与其他 ADF 布局组件相比,它提供了良好的性能。