gpt4 book ai didi

salesforce - 如何在 Visualforce 页面上显示聚合 SOQL 查询的结果?

转载 作者:行者123 更新时间:2023-12-01 13:53:52 25 4
gpt4 key购买 nike

我是 Visualforce 的新手。

我在这里查看此页面:http://force.siddheshkabe.co.in/2010/11/displaying-aggregate-result-on.html

所以当我将此代码添加到 VisualForce 页面时:

  AggregateResult[] groupedResults  = [SELECT Name, Days__c FROM Contact WHERE Days__c != ];

for (AggregateResult ar : groupedResults) {
System.debug('Name: ' + ar.get('Name') + '\nDays Taken : ' + ar.get('Days__c') + '\n');

但它所做的只是打印代码而不是执行它。我应该做什么?感谢您的指导。

最佳答案

Apex 代码进入 custom controller or controller extension . VisualForce 页面是一个独立于 Controller 的文件。您引用的页面未显示 VF 页面。另外,我认为您不能将 VF 组件绑定(bind)到 AggregateResult,因此您需要一个包装类。

这是一些工作代码。

Controller :

public with sharing class TestController {

public Summary[] Summaries { get; set; }

public TestController() {
AggregateResult[] results = [
SELECT Name, Count(Id) Quantity FROM Opportunity GROUP BY Name
];
Summaries = new List<Summary>();
for (AggregateResult ar : results) {
Summaries.add(new Summary(ar));
}
}

// wrapper class to hold aggregate data
public class Summary {
public Integer Quantity { get; private set; }
public String Name { get; private set; }

public Summary(AggregateResult ar) {
Quantity = (Integer) ar.get('Quantity');
Name = (String) ar.get('Name');
}
}

}

VF 页面:

<apex:page controller="TestController">
<apex:form >
<apex:repeat value="{!Summaries}" var="summary">
{!summary.Name}: {!summary.Quantity}<br/>
</apex:repeat>
</apex:form>
</apex:page>

关于salesforce - 如何在 Visualforce 页面上显示聚合 SOQL 查询的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8523303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com