如何在pageblocktable行中添加一个复选框?

时间:2015-06-29 10:01:05

标签: salesforce visualforce apex

我需要在pageblocktable中显示所有自定义对象记录。在填充所有记录之前,我需要在第一行中添加一个选项列表值Checkbox,然后填充所有记录。我怎么能这样做。

Name    Satisfy Opportunity            Status             Last modified                           
                                   Status(Picklist) 
        Turn on all checkbox     Turn on all checkbox   
             Clear all                Clear all 
Test 1       Checkbox                 Checkbox             12/12/2014
Test 2       Checkbox                 Checkbox             12/12/2014
Test 3       Checkbox                 Checkbox             12/12/2014

VF代码:

<apex:page standardcontroller="Opportunity" extensions="oppgapstatus">
<apex:form>
<apex:pageBlock> 
<apex:pageBlockSection id="Info">
<apex:pageBlockTable value="{!WrapperList}" var="wraprec">
<apex:column value="{!wraprec.accRec.Name__c}"/>
<apex:column value="{!wraprec.accRec.Satisfied__c}"/>  
<apex:column value="{!wraprec.accRec.Current_Status__c}"/>
<apex:column value="{!wraprec.accRec.LastModifiedDate}"/>
</apex:pageBlockTable>
</apex:pageBlockSection>
<apex:commandbutton value="Save" action="{!UpdateSelectedRecords}"/>
<apex:commandbutton value="Cancel"/>
</apex:pageBlock>
</apex:form>
</apex:page>

Apex课程:

Public class oppgapstatus{
 Public Opportunity optyList{get;set;}
 Public Opportunity_Status__c opst{get;set;}
  public PageReference openPresentationOptions() {
      return null;
   }

 private ApexPages.StandardController controller;
 public oppgapstatus(ApexPages.StandardController controller) {
 }
//Checkbox selectall        
Public List<wrapperclass> wrapList {get;set;}
Public boolean checked{get;set;}
Public string selectedField {get;set;}
Public string inputVal{get;set;}
  Public void selectallnone(){
    if(!checked)
      checked = true;
    else
      checked = false;

 }
  Public List<wrapperclass> getWrapperList(){
   wrapList = New List<wrapperclass>();
   for(Opportunity_Status__c acc:[select name,Satisfied__c,Current_Status__c,LastModifiedDate from Opportunity_Gaps__c where Opportunity_Detail__c =: optyList.Id]){
     if(!checked)
     wrapList.add(New wrapperclass(acc,false)); 
     else
     wrapList.add(New wrapperclass(acc,true));   
   } 
   return wrapList; 
  }
   Public class wrapperclass{
   Public Opportunity_Status__c accRec{get;set;}
   Public boolean checkFlag{get;set;}

   Public wrapperclass(Opportunity_Status__c acc,boolean flag){
    accRec = acc;
    checkFlag = flag;
    }
   }

任何人都可以帮助我......提前谢谢

1 个答案:

答案 0 :(得分:0)

您只需更改

即可
<apex:column value="{!wraprec.accRec.Name__c}"/>

<apex:column> <apex:inputCheckbox value="{!wraprec.accRec.boolean_Field__c}"/></apex:column>

您甚至可以在

中编写onchange动作