selectManyListbox question
Hi,
I have two selectManyListboxes on a jsp page I am trying to move items from one selectManyListbox to other.
Here the selectManyListbox values I have are SelectItem[] types
Here I am using actionListener for moving items
Please anybody could explain me how to do this
any help is appreciated
[334 byte] By [
Ruthera] at [2007-11-26 21:29:51]

# 2
JSF<h:form>
<h:selectManyListbox value="#{myBean.selectedItemsLeft}">
<f:selectItems value="#{myBean.selectItemsLeft}" />
</h:selectManyListbox>
<h:commandButton value="left to right" action="#{myBean.leftToRight}" />
<h:commandButton value="right to left" action="#{myBean.rightToLeft}" />
<h:selectManyListbox value="#{myBean.selectedItemsRight}">
<f:selectItems value="#{myBean.selectItemsRight}" />
</h:selectManyListbox>
</h:form>
MyBean (this one is a session scoped design)public class MyBean {
private List selectItemsLeft = new ArrayList();
private List selectedItemsLeft;
private List selectItemsRight = new ArrayList();
private List selectedItemsRight;
// + getters + setters
public MyBean() {
loadSelectItemsLeft();
}
public void leftToRight() {
if (selectedItemsLeft != null) {
for (Iterator iter = selectItemsLeft.iterator(); iter.hasNext();) {
SelectItem selectItem = (SelectItem) iter.next();
if (selectedItemsLeft.contains(selectItem.getValue())) {
selectItemsRight.add(selectItem);
iter.remove();
}
}
selectedItemsLeft.clear();
}
}
public void rightToLeft() {
if (selectedItemsRight != null) {
for (Iterator iter = selectItemsRight.iterator(); iter.hasNext();) {
SelectItem selectItem = (SelectItem) iter.next();
if (selectedItemsRight.contains(selectItem.getValue())) {
selectItemsLeft.add(selectItem);
iter.remove();
}
}
selectedItemsRight.clear();
}
}
private void loadSelectItemsLeft() {
selectItemsLeft.add(new SelectItem("key1", "value1"));
selectItemsLeft.add(new SelectItem("key2", "value2"));
selectItemsLeft.add(new SelectItem("key3", "value3"));
selectItemsLeft.add(new SelectItem("key4", "value4"));
selectItemsLeft.add(new SelectItem("key5", "value5"));
}
}
# 3
Thanks BaluC sir,
But here my problem is I passing SelectItem[] type values to SelectManyListbox.
here is the code
Here is my bean class
public void setSelectedPriceList(SelectItem[] availablePriceLists)
{
this.selectedPriceList = availablePriceLists;
}
public SelectItem[] getSelectedPriceList()
{
selectedPriceList = getCpgPriceListDtos();
return selectedPriceList;
}
public void setAvailablePriceList(SelectItem[] availablePriceList)
{
this.availablePriceList = availablePriceList;
}
public SelectItem[] getAvailablePriceList()
{
availablePriceList = availablePriceListDtos();
return availablePriceList;
}
Here is my jsp page
<t:panelGrid columns="3" cellspacing="0" border="1" width="75%">
<t:outputText value="Available Price List"/>
<f:verbatim> </f:verbatim>
<t:outputText value="Selected Price List"/>
<t:selectManyListbox style="width: 300px;">
<f:selectItems value="#{mybean.availablePriceList}"/>
</t:selectManyListbox>
<t:panelGrid columns="1">
<t:commandButton value=">" actionListener="mybean.moveToSelected" style="width: 50px;"/>
<t:commandButton value="<<" actionListener="mybean.moveToAvailable" style="width: 50px;"/>
</t:panelGrid>
<t:selectManyListbox style="width: 300px;">
<f:selectItems id="visibleItems"
value="#{mybean.selectedPriceList}"/>
</t:selectManyListbox>
</t:panelGrid
>
Please help me to solve this
thanks in advance