You need to sign in to do that
Don't have an account?
betterbhushan
Get List value from a list in Map
public List<Map<String,Object>> getPhoneData() { List<Map<String, Object>> mapp = new List<Map<String, Object>>(); Map<String, Object> temp = new Map<String, Object>{'type' => 'Account Phone', 'count' => new List<Integer>{[select count() from Account where Phone_valid__c = true], [select count() from Account where Phone != null]}}; mapp.add(temp); Map<String, Object> temp1 = new Map<String, Object>{'type' => 'Account Fax', 'count' => [select count() from Account where Fax_valid__c = true]}; mapp.add(temp1); Map<String, Object> temp2 = new Map<String, Object>{'type' => 'Contact Phone', 'count' => [select count() from Contact where Phone_valid__c = true]}; mapp.add(temp2); Map<String, Object> temp3 = new Map<String, Object>{'type' => 'Contact Mobile', 'count' => [select count() from Contact where Mobile_valid__c = true]}; mapp.add(temp3); Map<String, Object> temp4 = new Map<String, Object>{'type' => 'Contact Fax', 'count' => [select count() from Contact where Fax_valid__c = true]}; mapp.add(temp4); Map<String, Object> temp5 = new Map<String, Object>{'type' => 'Contact Home Phone', 'count' => [select count() from Contact where Home_Phone_valid__c = true]}; mapp.add(temp5); Map<String, Object> temp6 = new Map<String, Object>{'type' => 'Contact Other Phone', 'count' => [select count() from Contact where Other_Phone_valid__c = true]}; mapp.add(temp6); Map<String, Object> temp7 = new Map<String, Object>{'type' => 'Lead Phone', 'count' => [select count() from Lead where Phone_valid__c = true]}; mapp.add(temp7); Map<String, Object> temp8 = new Map<String, Object>{'type' => 'Lead Mobile', 'count' => [select count() from Lead where Mobile_valid__c = true]}; mapp.add(temp8); Map<String, Object> temp9 = new Map<String, Object>{'type' => 'Lead Fax', 'count' => [select count() from Account where Fax_valid__c = true]}; mapp.add(temp9); return mapp; }
Now I want to iterate over Map in Visualforce Page whic I am doing like this:
<apex:pageBlockTable title="Results" value="{!PhoneData}" var="d" > <apex:column value="{!d['type']}" headerValue="Type" /> <apex:column value="{!d['count']}" headerValue="Total"/> <apex:column value="{!d}" headerValue="everything"/> </apex:pageBlockTable><br/><br/><br/>
Now, d['count'] is List. I want 1st value of this list
say d['count'] = [1,2,3]
How will i get that value in VF? I tried d['count'].get(0)
From your code I don't see why d['count'] would be a list, but if it is, you should be able to access the first element as d['count'][0]