function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
saimadhusaimadhu 

How to create a picklist with sobject values

Hi, here is my controller:

 

public class status_option{
public integer optioncount {get;set;}
public list<Status_Option__c> statop = new list<Status_Option__c>();
public List<Status_Option__c> getstatop()
{
return statop;
}

}
public list<status_option> status_option_list = new list<status_option>();
public list<status_option> getstatus_option_list()
{
return status_option_list;
}
public list<Status_Option__c> temp_statop = new list<Status_Option__c>();
public List<Status_Option__c> gettemp_statop()
{
return temp_statop;
}
public list<Build_Status__c> status_option_picklist = new list<Build_Status__c>();
public List<Build_Status__c> getstatus_option_picklist()
{
return status_option_picklist;
}

/* public status_option getstatusobj()
{
return statusobj;
}*/


public void updatestatusop()
{
statusop = true;

status_option_picklist = [SELECT Name FROM Build_Status__c];
temp_statop = [select Name,Current_Build_Status__c,Next_Build_Status__c
from Status_Option__c
where Product_Group__c = :productId ];
integer k=0;
for(integer i=0;i<temp_statop.size();i++)
{
status_option statusobj = new status_option();
statusobj.statop.add(temp_statop.get(i));
statusobj.optioncount = ++k;
status_option_list.add(statusobj);
system.debug('value of optioncount is-'+status_option_list);
}


}

 

my VF page is:

 

<apex:pageblock title="STATUS OPTIONS" rendered="{!statusop}">
<apex:outputpanel >
<apex:pageblocktable value="{!status_option_list}" var="sl" columns="1">
<apex:column ><b><apex:outputlabel value="stausoption{!sl.optioncount}"/></b>
<apex:pageblocktable value="{!sl.statop}" var="statopl">
<apex:column ><apex:outputlabel value="Name"/><apex:inputfield value="{!statopl.Name}"/><br />
<apex:outputlabel value="CurrentBuildStatus"/><apex:inputfield value="{!statopl.Current_Build_Status__c}"/><br />

<apex:outputlabel value="NextBuildStatus"/><apex:inputfield value="{!statopl.Next_Build_Status__c}"/>
</apex:column>
</apex:pageblocktable>
</apex:column>
</apex:pageblocktable>

</apex:outputpanel>
</apex:pageblock>

 

the o/p is

status option1

name : text

nextbuildstatus: text

currentbuildstatus:text

 

status option2

name : text

nextbuildstatus: text

currentbuildstatus:text

 

now i want to change nextbuildstatus,currentbuildstatus as picklist with  values of sobject like(select name from buildstatus)

how can i change my code

any suggestion please.

Best Answer chosen by Admin (Salesforce Developers) 
PremanathPremanath

Hi you can try like this

 

<apex:selectList value="{!codevals}"  size="1">
<apex:selectOptions value="{!items}"/><br/><br/>
</apex:selectList>

 

 

 

public List<SelectOption> getItems() {
List<SelectOption> options = new List<SelectOption>();
List<country__c> codes = [SELECT id,name,Calling_Code__c-------
for (country__c c: codes) {
options.add(new SelectOption(String.valueOf(c.Calling_Code_secondary__c),c.name));

varaccmap.put(String.valueOf(c.Calling_Code_secondary__c),integer.Valueof(c.MSN__c));

}

All Answers

PremanathPremanath

Hi you can try like this

 

<apex:selectList value="{!codevals}"  size="1">
<apex:selectOptions value="{!items}"/><br/><br/>
</apex:selectList>

 

 

 

public List<SelectOption> getItems() {
List<SelectOption> options = new List<SelectOption>();
List<country__c> codes = [SELECT id,name,Calling_Code__c-------
for (country__c c: codes) {
options.add(new SelectOption(String.valueOf(c.Calling_Code_secondary__c),c.name));

varaccmap.put(String.valueOf(c.Calling_Code_secondary__c),integer.Valueof(c.MSN__c));

}

This was selected as the best answer
saimadhusaimadhu

thank you so much