データテーブルに動的ピックリストを作成しようとしています。1 つのピックリストでデフォルト値を設定できますが、複数のピックリストがある場合は設定できません。また、変更された値を任意の行に保存できる必要があります。これは、リスト内の変数にバインドされることを願っています。
これを実現するために、使用しているオブジェクト (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}」にバインドされることを願っていますが、デフォルトに設定することはできません。