Activity Forums Salesforce® Discussions Custom setting not displying correct picklist values based on the condtion

  • Custom setting not displying correct picklist values based on the condtion

    Posted by Rajni Bhagat on March 14, 2019 at 10:06 am

    i have a custom setting called the product and under that, I created two fields called and other is string field BD__c. i want to display picklist value based on string matching record. my custom setting looks like AAA |1,2,6,8 BBB |1,2,6,8 NNN|8 so when string value is 1,2,6,8 it should show AAA, BBB when its 8 it should show NNN, but i can see all the values even if BD__c==8

    Here is my apex controller method. can someone suggest me what I am missing

    public List < SelectOption > getTR_picklistvalue() {
        system.debug('******Start of getTR_picklistvalue');
        List < SelectOption > options = new List < SelectOption > ();
        options.add(new SelectOption('', '--Select--'));
        Map < String, picklistvalue__c > Prod = picklistvalue__c.getAll();
        List < String > keys = new List < String > (Prod.keySet());
        keys.sort();
        for (String key: keys) {
            if (Prod.get(Key).BD__c == '1,2,6,8')
                Options.add(new SelectOption(Prod.get(Key).picklistvalue__c, Prod.get(Key).Name));
            else
                Options.add(new SelectOption(Prod.get(Key).picklistvalue__c, Prod.get(Key).Name));
            //options.sort();
        }
        return options;
    
    }
    

     

    ABHISHEK replied 5 years, 6 months ago 2 Members · 1 Reply
  • 1 Reply
  • ABHISHEK

    Member
    April 29, 2019 at 12:35 pm

    Hi Rajni,

    You are trying to add value in both cases either if or else, As per my analysis you just need one if condition to filter out appropriate records as per your requirement.

    Thanks

Log In to reply.

Popular Salesforce Blogs

Popular Salesforce Videos