You need to sign in to do that
Don't have an account?

How can we use list<sobject> field value in visualforce page component <apex:pageblockTabel> ?
//class code :
string para = System.currentPageReference().getParameters().get('objName');
String soql = 'select id, name from ' + para + ' limit 15 ' ;
system.debug(soql);
objs = Database.query(soql);
========================================
Visualforce page :
<apex:pageBlockTable var="st" value="{!objs}">
<apex:column headervalue=" Name" >
<apex:outputText value="{!st.name}"/>
</apex:column>
</apex:pageBlockTable>
This gives error : Unknown property 'SObject.name'
string para = System.currentPageReference().getParameters().get('objName');
String soql = 'select id, name from ' + para + ' limit 15 ' ;
system.debug(soql);
objs = Database.query(soql);
========================================
Visualforce page :
<apex:pageBlockTable var="st" value="{!objs}">
<apex:column headervalue=" Name" >
<apex:outputText value="{!st.name}"/>
</apex:column>
</apex:pageBlockTable>
This gives error : Unknown property 'SObject.name'
Use below code
opportunity
All Answers
Use below code
opportunity
Also, you don't need to hardcode the heading when outputting a field. You can simply use <apex:column /> and let Salesforce / Visualforce figure out the header for you. See below for an example:
<apex:pageBlockTable var="st" value="{!objs}">
<apex:column value="{!st['Name']}" />
</apex:pageBlockTable>
List<sObject> objs ;
objs = Database.query('select name from Account');
for(sObject sobj : objs){
system.debug(sobj['name']); // this gives error Expression must be a list type: SObject
}