Code: Select all
<p:contextMenu for="tablaContactos">
<p:menuitem id="first" value="View" disabled="#{manejadorContactos.primero}" onclick="dlgPanel.show();" />
<p:menuitem id="second" value="Delete" disabled="#{manejadorContactos.segundo}" onclick="dlgPanel.show();" />
</p:contextMenu>
<p:dataTable value="#{manejadorContactos.lista}" id="tablaContactos" var="con" style="width: 200px;" >
<p:ajax process="tablaContactos" event="rowSelect" listener="#{manejadorContactos.onRowSelect}" update="first,second"/>
<p:column headerText="Nombre">
<h:outputText value="#{con.nombre}"/>
</p:column>
<p:column headerText="Apellido">
<h:outputText value="#{con.apellido}"/>
</p:column>
</p:dataTable>
Code: Select all
public class ManejadorContactos {
private ArrayList<Contacto> lista;
private Contacto agregarContacto;
private boolean primero = false;
private boolean segundo = true;
public ManejadorContactos()
{
this.lista = new ArrayList<Contacto>();
this.lista.add(new Contacto("Agustín Ernesto","CArdeilhac Banús"));
this.lista.add(new Contacto("Vanesa Soledad","Pereyra"));
agregarContacto = new Contacto();
}
public boolean isPrimero() {
return primero;
}
public void setPrimero(boolean primero) {
this.primero = primero;
}
public boolean isSegundo() {
return segundo;
}
public void setSegundo(boolean segundo) {
this.segundo = segundo;
}
public Contacto getAgregarContacto() {
return agregarContacto;
}
public void setAgregarContacto(Contacto agregarContacto) {
this.agregarContacto = agregarContacto;
}
public ArrayList<Contacto> getLista() {
return lista;
}
public void setLista(ArrayList<Contacto> lista) {
this.lista = lista;
}
public void agregarContactoLista(ActionEvent evt)
{
this.lista.add(agregarContacto);
}
public void limpiarContactoAgregar(ActionEvent evt)
{
this.agregarContacto = new Contacto();
}
public void onRowSelect(SelectEvent event)
{
Contacto conAux = (Contacto) event.getObject();
if(conAux.getApellido().compareToIgnoreCase("Pereyra")==0)
{
this.primero = false;
this.segundo = true;
}
else if(conAux.getApellido().compareToIgnoreCase("Ocampo") == 0)
{
this.primero = true;
this.segundo = false;
}
else
{
this.primero = true;
this.segundo = true;
}
}
}