-
FEATURED COMPONENTS
First time here? Check out the FAQ!
I want to get the object selected from the Chosenbox. It always returns empty set although I selected multiple items. I used both selectedObjects and onSelect. But, both returns empty selectedObjects.
<chosenbox id="replaceProduct" hflex="1"
model="@load(vm.replaceProductListModel)"
onSelect="@command('selectReplacement', box=self)"
onSearch="@command('selectReplacementSearch', box=self, event=event)"
selectedObjects="@save(vm.replaceProductSet, before='ok')"
emptyMessage="type or select products"
noResultsText="No Such item - {0} - or it is already selected">
<template name="model">${each.productName} (${each.productNumber})</template>
<!-- <attribute name="onSearch">
Object obj = event.getValue();
((ListModelList)model).add(obj);
self.addItemToSelection(obj);
</attribute> -->
</chosenbox>
public ListModelList<Product> getReplaceProductListModel() {
List<Product> products = getReplaceProducts();
ListModelList<Product> listModel = null;
if (products != null) {
products.remove(element);
listModel = new ListModelList<Product>(products);
/* set selection */
if (replacedProducts != null && !replacedProducts.isEmpty()) {
for (Product product : replacedProducts) {
listModel.addToSelection(product);
}
}
} else {
listModel = new ListModelList<Product>();
}
return listModel;
}
// Replacement Product
public void setReplaceProductSet(Set<Product> products) {
if (products == null) {
LOGGER.debug("paramater is null.");
return;
}
replacementProduct = products;
}
@Command
public void selectReplacement(@BindingParam("box") Chosenbox box) {
if (box == null) {
return;
}
Set<Product> selectedSet = box.getSelectedObjects();
replacementProduct = selectedSet;
}
I just confirmed it works if I remove template from my zul code.
<chosenbox id="replaceProduct" hflex="1"
model="@load(vm.replaceProductListModel)"
onSelect="@command('selectReplacement', box=self)"
onSearch="@command('selectReplacementSearch', box=self, event=event)"
selectedObjects="@save(vm.replaceProductSet, before='ok')"
emptyMessage="type or select products"
noResultsText="No Such item - {0} - or it is already selected">
<!-- <template name="model">${each.productName} (${each.productNumber})</template> -->
<!-- <attribute name="onSearch">
Object obj = event.getValue();
((ListModelList)model).add(obj);
self.addItemToSelection(obj);
</attribute> -->
</chosenbox>
Asked: 2013-08-27 13:58:51 +0800
Seen: 60 times
Last updated: Aug 27 '13