hi,
i am using datatable with selectManycheckbox,i searched two days,but i didn't get the Exact answer,
please help me..............
myjsp code
<t:dataTable id="list" value="#{assetgroupindex.list}" var="list" rows="10">
<h:column>
<h:selectManyCheckbox id="checkedItems" value="#{assetgroupindex.checkedItems}" title="#{bondsproperty.assetgroupadd_approvebk_hint}">
<f:selectItem itemValue="#{list.assetGroupCode}"/>
</h:selectManyCheckbox>
</h:column>
<t:dataTable
<h:commandButton id="approve" actionListener="#{assetgroupindex.approve}" value="Approve"/>
My bean code
public class AssetGroupIndex {
private ArrayList checkedItems = new ArrayList();
public Object[] getCheckedItems() {
return checkedItems.toArray();
}
public void setCheckedItems(Object[] newcheckedItems) {
int len=0;
if (null == newcheckedItems || ( len = newcheckedItems.length)==0 ) {
return;
}
checkedItems.clear();
checkedItems = new ArrayList(len);
for ( int i=0;i<len;i++) {
checkedItems.add(newcheckedItems[i]);
}
}
public
String approve(ActionEvent event){
UIViewRoot viewRoot = FacesContext.getCurrentInstance().getViewRoot();
logger.info("viewRoot"+viewRoot.getFamily());
UIComponent formComponent=(UIComponent)viewRoot.getChildren().get(0);
UIComponent tableComponent=formComponent.findComponent("list");
UISelectMany selectManyComponent=(UISelectMany)tableComponent.findComponent("checkedItems");
Object[] objectArray=selectManyComponent.getSelectedValues();
logger.info("getting selectedArray Object");
//checkedItems=(ArrayList) Arrays.asList(objectArray);
for(int j=0;j<objectArray.length;j++){
logger.info("objectArray ["+j+"] = "+(String)objectArray[j]);
checkedItems.add((String)objectArray[j]);
}
}
}
here i got only one selected value.
give me solution
regards
Babu