【发布时间】:2018-02-06 14:29:10
【问题描述】:
我对 apex 有点陌生,我正在尝试使用我构建的自定义控制器在 visualforce 页面中显示 selectList。
我在尝试预览 visualforce 页面时收到“列表没有分配给 SObject 的行”错误,但在开发人员控制台中运行查询会返回行。
这是我的页面:
<apex:page Controller="BpmIcountPayment">
<apex:form >
<apex:selectList value="{!productsTitle}" multiselect="false">
<apex:selectOptions value="{!ProductsLov}"></apex:selectOptions>
</apex:selectList>
</apex:form>
</apex:page>
和我的控制器:
public class BpmIcountPayment{
private final Account account;
public String productsTitle {
get { return 'products for sale'; }
set;
}
public BpmIcountPayment() {
account = [SELECT Id, Name, Site FROM Account
WHERE Id = :ApexPages.currentPage().getParameters().get('id')];
}
public Account getAccount() {
return account;
}
public List<SelectOption> getProductsLov() {
List<SelectOption> products = new List<SelectOption>();
List<Product2> productsList = [SELECT Id, Name, Family
FROM Product2
WHERE (Family = 'ShopProduct')
OR (Family = 'CourseParent')
OR (Family = 'SFCourseProgram')];
for (Product2 currProduct : productsList) {
products.add(new SelectOption(currProduct.Id, currProduct.Name));
}
return products;
}
}
只是为了澄清我所指的查询是getProductsLov()中的查询。
我的 API 版本是 40,我在沙盒环境中工作。
【问题讨论】:
标签: salesforce visualforce apex soql