You need to sign in to do that
Don't have an account?
Bubu
Action support is not working for select all button--
Hi Friends,
I have a requirement When I m selecting a single checkbox I m able to call a method in controller through actionSupport.
when I am selecting a selectAll checkbox all checkboxes are selecting,
but the actionsupport inside the checkbox is not calling the method,selctall functionality which I m aciving by javascript.
Any help would be greatly appreciated!!
Hi,
Try the below code snippet as reference:
..............
Page
.............
<apex:page controller="Checkbox_Class" Tabstyle="Account">
<apex:form >
<apex:pageBlock Title="Accounts with CheckBoxes">
<apex:pageBlockSection Title="List of Available Accounts">
<apex:dataTable value="{!accounts}" var="a" columnswidth="50px,50px" cellpadding="4" border="1">
<apex:column >
<apex:facet name="header"> <apex:inputCheckbox >
<apex:actionSupport event="onclick" action="{!GetSelected}" onsubmit="checkAll(this)" rerender="Selected_PBS"/>
</apex:inputCheckbox></apex:facet>
<apex:inputCheckbox value="{!a.selected}" id="checkedone">
<apex:actionSupport event="onclick" action="{!GetSelected}" rerender="Selected_PBS"/>
</apex:inputCheckbox></apex:column>
<apex:column headervalue="Account Name" value="{!a.acc.Name}" />
<apex:column headervalue="Account Number" value="{!a.acc.AccountNumber}" />
<apex:column headervalue="Phone" value="{!a.acc.Phone}" />
</apex:dataTable>
</apex:pageBlockSection>
<apex:pageBlockSection Title="Selected Accounts" id="Selected_PBS">
<apex:dataTable value="{!SelectedAccounts}" var="s" columnswidth="50px,50px" cellpadding="4" border="1">
<apex:column headervalue="Account Name" value="{!s.Name}" />
<apex:column headervalue="Account Number" value="{!s.AccountNumber}" />
<apex:column headervalue="Phone" value="{!s.Phone}" />
</apex:dataTable>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
<script>
function checkAll(cb)
{
var inputElem = document.getElementsByTagName("input");
for(var i=0; i<inputElem.length; i++)
{
if(inputElem[i].id.indexOf("checkedone")!=-1)
inputElem[i].checked = cb.checked;
}
}
</script>
</apex:page>
................
Controller
................
public class Checkbox_Class
{
List<accountwrapper> accountList = new List<accountwrapper>();
List<Account> selectedAccounts = new List<Account>();
public List<accountwrapper> getAccounts()
{
for(Account a : [select Id, Name, AccountNumber, Phone from Account limit 5])
accountList.add(new accountwrapper(a));
return accountList;
}
public PageReference getSelected()
{
selectedAccounts.clear();
for(accountwrapper accwrapper : accountList)
if(accwrapper.selected == true)
selectedAccounts.add(accwrapper.acc);
return null;
}
public List<Account> GetSelectedAccounts()
{
if(selectedAccounts.size()>0)
return selectedAccounts;
else
return null;
}
public class accountwrapper
{
public Account acc{get; set;}
public Boolean selected {get; set;}
public accountwrapper(Account a)
{
acc = a;
selected = false;
}
}
}
Did this answer your question? If not, let me know what didn't work, or if so, please mark it solved.