1

データテーブルに動的ピックリストを作成しようとしています。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}」にバインドされることを願っていますが、デフォルトに設定することはできません。

4

1 に答える 1

1

私はこれを自分で理解しました。問題は、i.selected_vendor__c の値が、名前ではなく、ベンダー リストに対応する ID である必要があることです。

于 2010-07-13T06:04:18.173 に答える