在页面显示一个数据集时,apex:datatable是一个比较常用的标签,在这里对其常用属性及使用方法做简单说明。
<apex:datatable
value=“accounts”
var=“account”
first=“4”
rows=“5”
columns=“5”
rules=”all”
frame=”box”
border=”2”
>
</apex:datatable>
这几个常用属性的含义及注意要点:
•使用apex:datatable在UI上定义一个table
•Value: apex:datatable的一个必需属性。指定table要显示的数据集。Value的值必须是一个集合。
•Var: apex:datatable的一个必需属性。用来遍历数据集value中数据的一个临时变量。使用这个变量来在table中依次显示数据
• First:控制从value中第几个数据开始读起
•Rows: 控制table有几行。如果value中的个数多于rows,多余的会被忽略。
• Column: 控制table有几列。
• Rules: 控制显示表格内部的框。取值有:“none”, “groups”, “rows”, “cols”, and “all”。默认为“none”。
• Frame:控制显示表格的边框。取值有:“none”, “above”, “below”, “hsides”, “vsides”, “lhs”, “rhs”, “box”, and “border”.默认为“border”.
• Border:与frame配合使用,控制frame也即边框的宽度。
定义完table之后,就要在其中显示数据,及定义每一行的每一个列。在apex中,使用<apex:column></apex:column> 来定义一个列:
<apex:column>
<apex:facet name="header">Name</apex:facet>
<apex:facet name="footer">footer</apex:facet>
<apex:outputText value="{!account.name}"/>
</apex:column>
• Apex:column:定义table中的一列。
• 在apex:column中,仅支持两种facet:header和footer。
• Header:出现在一列的最顶端。需要注意的是,不管name=“header”的facet定义在column中的任何位置,在UI上,它总是出现在一列的最顶端。
• Footer:出现在一列的最底部。需要注意的是,不管name=“footer”的facet定义在column中的任何位置,在UI上,它总是出现在一列的最底部。
在table中,除了显示数据的列之外,我们有时候还需要一些对于table的其他的描述,比如table的题注,标题或者页脚,在apex中,使用预先定义好的facet来定义这些需求。
<apex:facet name="header">Name</apex:facet>
<apex:datatable value=“accounts”var=“account”>
<apex:facet name="caption">table caption</apex:facet>
<apex:facet name="header">table header</apex:facet>
<apex:facet name="footer">table footer</apex:facet>
</apex:datatable>
• apex:datatable中,仅支持三种facet:caption,header和footer。
• Caption:table的题注
• Header:table的标题。
• Footer:table的底部。
• 注意:不管这三种名称的facet定义在table节点下的任何位置,它们在UI上的出现位置都是固定的。
captionStyle, captionClass, headerStyle, headerClass, footerStyle, footerClass 分别用来控制caption, header, footer的样式。