У меня проблема со списком и поведением поля со списком. У меня есть список с группой строк, и я пытаюсь отредактировать встроенный и изменить значение поля на основе значений поля со списком. Но когда я выбираю одно значение в комбинации одной строки, все значения полей со списком других строк меняются на одно и то же значение. Пожалуйста, дайте мне знать, что я делаю неправильно. Спасибо за вашу помощь!
Вот мой код:
<template name="model" var="item">
<listitem >
<listcell label="@load(item.id)"/>
<listcell label="@load(item.descCodigoTrafico)"/>
<listcell label="@load(item.descAmbitoDeTrafico)"/>
<listcell>
<combobox
model="@load(vm.listaPrecioEspecial)"
onChange="@command('addToUpdate', entry=item)"
selectedItem="@load(item.precioEspecial) @save(item.precioEspecial, before='updateItems')">
<template name="model" var="el">
<comboitem label="@load(el)"/>
</template>
</combobox>
</listcell>
<listcell label="@load(item.tipoDescuento)" />
<listcell>
<decimalbox inplace="true"
value="@load(item.ppm) @save(item.ppm, before='updateItems')"
onChange="@command('addToUpdate', entry=item)"
format="#.0000"/>
</listcell>
</listitem>
</template>
И код двух методов в де ВМ:
@Command
public void addToUpdate(@BindingParam("entry") TblEscenarioCondTrafico item){
itemsToUpdate.add(item);
LOGGER.info(item.toString());
for(TblEscenarioCondTrafico i : itemsToUpdate){
LOGGER.info("Item a guardar " + i.toString());
//LOGGER.info("Elemento...");
}
}
@NotifyChange("listaTraficos")
@Command
public void updateItems() throws Exception{
EscenarioCondTraficoService ects = new EscenarioCondTraficoService(em);
for (TblEscenarioCondTrafico i : itemsToUpdate){
LOGGER.info("Guardando " + i.toString());
ects.save(i);
}
itemsToUpdate.clear();
listaTraficos = getListaTraficos();
}