我设计了一个 VF 页面来显示自定义对象的字段记录列表。我的对象中有两个数字字段,我设计了 VF 页面,以在页面底部显示这些数字字段和总计。将来,如果将额外的数字字段添加到同一对象,那么我如何编写代码来添加一列,该列又应自动填充到 visualforce 页面上。是否可以在销售人员中。
问问题
1489 次
2 回答
0
请在下面找到一些代码。请注意,这未经测试,但会给你一个完整的想法!
VF Page:
<apex:form>
<!-- this column will return the sum -->
<apex:column value="{!Sum}"/>
</apex:form>
Apex Class:
//Your class will contain the below method
public String getSum(){
Double Sum;
//Return a list of the object
List <Custom_Object__c> listCustom = [Select Num1, Num2 from Custom_Object__c];
for(Custom_Object__c co : listCustom){
Sum = co.Num1 + co.Num2;
}
return String.valueOf(Sum);
}
答案将是这样的。请试一试,如果不起作用,请回复,我将很乐意提供帮助!
于 2012-11-14T15:06:33.423 回答
0
如果您在此页面上有控制器/控制器扩展,您可以使用描述调用来了解对象中所有字段的列表,检查它们的类型并决定要显示和汇总哪些字段。
Schema.DescribeFieldResult f = Account.NumberOfEmployees.getDescribe();
System.assertEquals(Schema.DisplayType.INTEGER, f.getType());
但是依赖于描述调用的结果会有一些限制(达到每个请求 100 个描述的州长限制,字段将按名称排序,这可能不是您想要显示它们的顺序......)。
由于您需要动态 Visualforce,您可以考虑制作一个字段集或自定义设置,列出您想要的字段,然后如果您使用 Apex 计算小计 -请从代码中引用它。这样,当您稍后需要更新它时,您就不必触摸控制器。
于 2012-11-12T07:26:42.650 回答