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
Will EdwardsWill Edwards 

How does one transpose rows in a pageblocktable into columns?

I have several values for a child campaign that I'd like to display as columns rather than rows.

I would like the first row to be Hidden_Speaker_Name__c and the second row to be Average_Speaker_Value__c, rather than columbs as they are now. Thanks.

My controller:
public class CampaignController {
    public Campaign camp {get; set;}
    public CampaignController(ApexPages.StandardController controller) {
        camp = (Campaign) controller.getRecord();

        if(camp != null && camp.Id != null) {
            camp = [Select Id, Name, (Select Id, Average_Speaker_Value__c, Hidden_Speaker_Name__c, Type 
            FROM ChildCampaigns
            WHERE Type = 'Speakers')
            
            FROM Campaign WHERE Id =: camp.Id];
        }
    }
}
My current code:
 
<apex:pageBlockTable value="{!camp.ChildCampaigns}"
        var="cc"
        >

        <apex:column headerValue="Speaker" headerClass="headerStyle" value="!cc.Hidden_Speaker_Name__c}"/>
        <apex:column headerValue="Score" headerClass="headerStyle" value="!cc.Average_Speaker_Value__c}"/>

</apex:pageBlockTable>


 
Nagendra ChinchinadaNagendra Chinchinada
Hi Will,

Here is the code.

VF page,
<apex:page standardController="Campaign" extensions="CampaignController">
    <apex:pageBlock>        
        <apex:pageBlockTable value="{!CampListwrapper}"  var="cc">
<apex:column headerValue="Speaker" headerClass="headerStyle" value="{!cc.Value}"/>
</apex:pageBlockTable> 
    </apex:pageBlock>
</apex:page>

Controller,
 
public class CampaignController {
    public Campaign camp {get; set;}
    public List<wrapperClass> CampListwrapper {get;set;}
    private integer i=0;
   
    
    public CampaignController(ApexPages.StandardController controller) {
        camp = (Campaign) controller.getRecord();

       if(camp != null && camp.Id != null) {
            camp = [Select Id, Name, (Select Id, Average_Speaker_Value__c, Hidden_Speaker_Name__c, Type 
            FROM ChildCampaigns
            WHERE Type = 'Speakers')
            
            FROM Campaign WHERE Id =: camp.Id];
        }
        
        CampListwrapper = New List<wrapperClass>();        
      
        for(ChildCampaigns chldcamp :camp.ChildCampaigns ){            
           CampListwrapper[i] = New wrapperClass(chldcamp.Average_Speaker_Value__c+'') ;
           CampListwrapper[i+1] = New wrapperClass(chldcamp.Hidden_Speaker_Name__c+'');
            i++;
        }
       
        
      // For testing
      /*  CampListwrapper.add( New wrapperClass('One'));
        CampListwrapper.add( New wrapperClass('Two'));
        CampListwrapper.add( New wrapperClass('Three')); */
        
        
    }
    
    public class wrapperClass{
        public string Value{get; set;}
        
        Public wrapperClass(String val){
         this.Value = val;  
        }              
        
    }
}

Let me know if u face any issues.