-
1. Re: Problem with Picklist
nbelaevski Feb 4, 2009 5:08 PM (in response to s4mu3l.a.r)Hello,
Use value attribute to set items of the right side. -
2. Re: Problem with Picklist
s4mu3l.a.r Feb 5, 2009 2:54 PM (in response to s4mu3l.a.r)I tried
D'ont work
<rich:pickList value="#{Bean.profilesT}">
<f:selectItems value="#{Bean.profiles}"/>
</rich:pickList>
value selected - Bean.profilesT
value default - Bean.profiles
help -
-
4. Re: Problem with Picklist
abelevich Feb 9, 2009 8:58 AM (in response to s4mu3l.a.r)Hello,
Could yout attach your java bean code? -
5. Re: Problem with Picklist
moiselo May 27, 2009 5:43 AM (in response to s4mu3l.a.r)
I have the same problem. I post the list for me but SelectItem with the following error: "Value is not String (class = javax.faces.model.SelectItem)
Can anyone help me?
Greetings and thanks -
6. Re: Problem with Picklist
ilya_shaikovsky May 27, 2009 5:54 AM (in response to s4mu3l.a.r)"abelevich" wrote:
Hello,
Could yout attach your java bean code? -
7. Re: Problem with Picklist
moiselo May 27, 2009 6:55 AM (in response to s4mu3l.a.r)This is the pickList definition:
<rich:pickList id="listPer" showButtonsLabel="false" value="#{listaParquesAsignadosBean.parqueSel.listaPersonalAsignados}"> <f:selectItems value="#{listaParquesAsignadosBean.parqueSel.listaPersonalDisponibles}"/>
</rich:pickList>
And this is my java bean code:
public class ListaParquesAsignadosBean {
@Resource
AdmParqueBomberoService parqueService;
@Resource
EmerParqueAsignadoService parqueAsigService;
EmerParqueBomberoBean parqueSel = new EmerParqueBomberoBean();
List listaAsignados = new ArrayList();
private Long parqueSid;
private Long emergenciaSid;
public EmerParqueBomberoBean getParqueSel() {
return parqueSel;
}
public void setParqueSel(EmerParqueBomberoBean parqueSel) {
this.parqueSel = parqueSel;
}
public List getListaAsignados() {
return listaAsignados;
}
public void setListaAsignados(List listaAsignados) {
this.listaAsignados = listaAsignados;
}
public Long getParqueSid() {
return parqueSid;
}
public void setParqueSid(Long parqueSid) {
this.parqueSid = parqueSid;
}
public Long getEmergenciaSid() {
return emergenciaSid;
}
public void setEmergenciaSid(Long emergenciaSid) {
this.emergenciaSid = emergenciaSid;
}
public void calculaParquesAsignados (EmerEmergenciaPropsBean emergencia) throws Exception
{
setListaAsignados(parqueAsigService.calculaParquesAsignados(emergencia));
}
public void eliminarParqueAsignado()
{
List listaTmp = getListaAsignados();
EmerParqueBomberoBean parqueBorrar = new EmerParqueBomberoBean();
for (EmerParqueBomberoBean parque:listaTmp)
{
if (parque.getSid().equals(getParqueSid()))
parqueBorrar = parque;
}
listaTmp.remove(parqueBorrar);
setListaAsignados(listaTmp);
}
public void muestraRecursosParque() throws Exception
{
List listaTmp = getListaAsignados();
for (EmerParqueBomberoBean parque:listaTmp)
{
if (parque.getParqueSid().equals(getParqueSid()))
setParqueSel(parque);
}
setParqueSel(parqueAsigService.cargaDatosParqueSeleccionRecursos(getParqueSel(), getEmergenciaSid()));
}
public void guardarRecursosParque(ActionEvent event) throws Exception
{
try
{
List listaTmp = getListaAsignados();
EmerParqueBomberoBean parqueAct = new EmerParqueBomberoBean();
for (EmerParqueBomberoBean parque:listaTmp)
{
if (parque.getParqueSid().equals(parqueSel.getParqueSid()))
parqueAct = parque;
}
int i = listaTmp.indexOf(parqueAct);
setParqueSel(parqueAsigService.guardarRecursosParque(parqueSel, emergenciaSid));
listaTmp.set(i, parqueSel);
setListaAsignados(listaTmp);
}catch (Exception e) {
String mensaje="Se ha producido un fallo al guardar los recursos: " + e.getMessage();
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,mensaje,mensaje);
FacesContext.getCurrentInstance().addMessage("modAsignarRecursos" + ":desc",message);
}
}
public void anadirParque (Long parqueSid)
{
try {
AdmParqueBombero parqueEnt = parqueService.findPropertiesEmerBySid(parqueSid);
if (parqueEnt != null)
{
List lista = getListaAsignados();
Boolean bEnc = false;
int i = 0;
while (!bEnc && i<lista.size())
{
if (lista.get(i).getSid().equals(parqueEnt.getSid()))
bEnc = true;
i++;
}
if (!bEnc)
{
setParqueSel(parqueAsigService.cargaBeanEmerParqueBombero(parqueEnt, true, getEmergenciaSid()));
lista.add(getParqueSel());
setListaAsignados(lista);
}
else
{
String mensaje="El parque de bomberos seleccionado ya existe en la lista mostrada.";
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,mensaje,mensaje);
FacesContext.getCurrentInstance().addMessage("modAsignarRecursos" + ":desc",message);
}
}
else
{
String mensaje="El parque de bomberos seleccionado no se ha podido añadir.";
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,mensaje,mensaje);
FacesContext.getCurrentInstance().addMessage("busquedaUsuario" + ":desc",message);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public String compruebaDisponiblesVSAsignados()
{
String mensaje = "";
int i = 0;
while (i<getListaAsignados().size())
{
EmerParqueBomberoBean parqueBean = getListaAsignados().get(i);
parqueBean = parqueAsigService.recalculaRecursosParqueBean(parqueBean);
//Comprobamos los nuevos disponibles con los asignados.
if (!parqueBean.comparaDisponiblesAsignado())
{
mensaje = "Alguno de los recursos asignados del parque de bomberos " + parqueBean.getNombre() + " ya no está disponible. Realice de nuevo la assignación de recursos.";
i = getListaAsignados().size();
}
i++;
}
return mensaje;
}
} -
8. Re: Problem with Picklist
ilya_shaikovsky May 27, 2009 7:04 AM (in response to s4mu3l.a.r)pickList is uses SelectItem's as standard JSF selectMany components.. so if you using some other objects you should define converter properly.
-
9. Re: Problem with Picklist
moiselo May 27, 2009 7:17 AM (in response to s4mu3l.a.r)But the lists are of type SelectItem...
public class EmerParqueBomberoBean implements Comparable{
@Resource
EmerParqueAsignadoService parqueAsigService;
private Long sid;
private Long parqueSid;
private String nombre;
private String telefonoParque;
private String telefonoGuardia;
private Integer distanciaAlSiniestro;
private String estadoAsignacion; //Indica si el parque posee recursos disponibles o no. Falta los no disponibles pero en emergencia de menor grado.
private List listaPersonalDisponibles = new ArrayList();
private List listaPersonalAsignados= new ArrayList();
private List listaVehiculosDiponibles= new ArrayList();
private List listaVehiculosAsignados= new ArrayList(); -
10. Re: Problem with Picklist
ilya_shaikovsky May 27, 2009 7:31 AM (in response to s4mu3l.a.r)should be
... private List<SelectItem> listaPersonalAsignados= new ArrayList<SelectItem>(); ...
-
11. Re: Problem with Picklist
moiselo May 27, 2009 10:06 AM (in response to s4mu3l.a.r)
No, this is not the problem. Could have something to do with the return value from the picklist is an array of String, not SelectItems?
I'm using version 3.3.0, I will try with 3.3.1
Thanks -
12. Re: Problem with Picklist
ilya_shaikovsky May 28, 2009 2:14 AM (in response to s4mu3l.a.r)sorry but yes.. target list a list of strings. check http://livedemo.exadel.com/richfaces-demo/richfaces/pickList.jsf.. second sample seems your one.. page code here and to get a full code - checkout project from svn.
-
13. Re: Problem with Picklist
moiselo May 28, 2009 3:07 AM (in response to s4mu3l.a.r)Thanks, the problem is solved.