我正在尝试在数据表中创建动态选项列表。我可以使用单个选项列表设置默认值,但是当有多个选项列表时则不能。我还需要能够将任何更改的值存储在任何行上,这有望被绑定到列表中的某个变量。
为了实现这一点,我在我正在使用的对象(称为Vendor)上创建了一个新字段,名为“selected_vendor__c”:
<apex:column headerValue="Vendor">
<apex:selectList value="{!i.selected_vendor__c}" size="1" required="true" >
<apex:selectOptions value="{!VendorList}"/>
</apex:selectList>
然后是控制器:
public List<selectOption> VendorList {get {
List<selectOption> myVendorList = new List<selectOption>();
for (Vendor__c vend : [select Name,id from Vendor__c])
myVendorList.add(new selectOption(vend.id, vend.name));
return myVendorList;
}
private set;
}
我遇到的问题是,选项列表中的值始终是列表中的第一个选项,而不是我尝试将其动态设置的选项。我希望保存时它会被“{!i.selected_vendor__c}”绑定,但是我无法将其设置为默认值。
答案 0 :(得分:1)
我自己想出来了。问题是i.selected_vendor__c的值必须是与供应商列表对应的id,而不是名称。