2010-07-11 121 views
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}」,但我無法將其設置爲默認值。

回答

1

我自己想通了。問題是i.selected_vendor__c的值需要是與供應商列表相對應的id,而不是名稱。