[SalesForce] How to restrict a column to display value if value exists

I have a pageblocktable that is inside pageblocksection. The pageblocktable has many columns. I want 1 of the columns to appear only if it exist.

Following is my code…

   <apex:pageblocksection title="Order infos" showheader="true" collapsible="true" columns="1">           
              <apex:pageBlockTable value="{!gp.con}" var="p">   
                <apex:column colspan="7"> 
                    <apex:facet name="header">#</apex:facet>
                    <apex:outputLink value="/{!p.id}"><apex:outputText value="{!p.Name}"/>
              </apex:outputLink>
                </apex:column>
                 <apex:column>
                     <apex:facet name="header">Material Name</apex:facet>
                     <apex:outputText value="{!p.gew_material_name__c}"/>
                 </apex:column....

I dont wan't the below nested table Shipment Info for the Order infos if there are no shipments info available.

                <apex:pageblocksection title="Shipment Info"  collapsible="true" columns="1">
                    <apex:pageBlockTable value="{!gp.opp}" var="q">
                          <apex:column > 
                                 <apex:facet name="header">Shipment Lines</apex:facet>
                                 <apex:outputLink value="/{!q.id}"><apex:outputText value="{!q.Name}"/>          
                           </apex:outputLink>
                          </apex:column> gew_quantity_shipped__c

For now a blank pagetable with all the column header shows like the below image. Ineed to show shipment info only if there are values, records.
No NULL Shipments!!
Is this possible through rendered or javascript?

Best Answer

Posting my comment as an answer:

rendered attribute should help you hide the page block section.

Try adding

rendered = {!NOT(ISNULL(gp.opp))}

. ie

<apex:pageblocksection title="Shipment Info" collapsible="true" columns="1" rendered = {!NOT(ISNULL(gp.opp))}>