1

我正在尝试在数据表中创建一个动态选择列表。我可以使用单个选项列表设置默认值,但不能在有多个选项列表时设置。我还需要能够将任何更改为的值存储在任何行上,希望将其绑定到列表中的某个变量。

为此,我在我正在使用的对象(称为供应商)上创建了一个新字段,称为“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}”,但我无法将其设置为默认值。

4

1 回答 1

1

我自己想通了。问题是 i.selected_vendor__c 的值需要是与供应商列表对应的 id,而不是名称。

于 2010-07-13T06:04:18.173 回答