Boa tarde, estou com problema aqui se alguém puder me ajudar.
Tenho um xhtm com 2 campos id e descricao e tenho um datatable com colunas id, descrição, editar e excluir.
Gostaria que qndo clicasse em editar os 2 campos no xhtm fosse preenchido conforme selecionado no grid tentei assim:
O parametro da linha selecionada é passado certinho porém a tela não desenhada com os valores atualizado no bean.
Bean
@Named(value = "menuBean")
@SessionScoped
public class MenuBean implements Serializable {
private Menu menu = new Menu();
private MenuDao dao = new MenuDao();
private List<Menu> menus;
get and set
public void editar(Menu menuSelecionado){
this.menu=menuSelecionado;
FacesContext context = FacesContext.getCurrentInstance(); // o parametro é passado certinho
context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, menu.getDescricao()+"ssssss", ""));
}
html
<p:column headerText="Editar" width="30">
<p:commandLink id="btnEditar"
update="@all"
actionListener="#{menuBean.editar(dr)}"
immediate="true"
ajax="false"
title="Editar">
<h:graphicImage value="/resources/images/editar.png" />
</p:commandLink>
</p:column>
prjava
Dezembro 16, 2013, 11:49am
#2
posto o seu xhtml e o bean completo…vlw
<p:panel id="painel">
<p:messages closable="true" />
<p:focus for="txtDescricao"/>
<f:facet name="header">
<div class="tituloJanela">Manutenção de Assuntos das publicações</div>
</f:facet>
<h:outputText class="subTituloJanela" rendered="#{menuBean.edicao}" value="Edição"/>
<h:outputText class="subTituloJanela" rendered="#{menuBean.edicao==false}" value="Inclusão"/>
<h:inputHidden id="txtId" value="#{menuBean.menu.id}"/>
<p:panelGrid columns="2" style="width: 100%">
<h:outputLabel for="txtDescricao"> <div style="width: 90px;">Descrição *</div> </h:outputLabel>
<p:inputText id="txtDescricao"
size="50"
maxlength="20"
required="true"
requiredMessage="A descrição é obrigatória"
value="#{menuBean.menu.descricao}"
/>
</p:panelGrid>
<p:toolbar style="width: 99%;">
<p:toolbarGroup align="left">
<p:commandButton id="btnGravar" value="#{menuBean.tituloBotao()}" icon="icoAccept" style="size: 50px;" update="@all" action="#{menuBean.gravar()}" ajax="false"/>
<p:commandButton id="btnLimpar" value="Cancelar" icon="icoClear" style="size: 50px;" update="@form" actionListener="#{menuBean.limpar()}" immediate="true" ajax="false"/>
</p:toolbarGroup>
</p:toolbar>
<br></br>
<br></br>
<h:outputText class="subTituloJanela" value="Já Cadastrados"/>
<p:dataTable id="datagrid"
scrollable="true"
scrollHeight="400"
var="dr"
value="#{menuBean.menus}"
paginator="true"
rows="50"
rowsPerPageTemplate="50,100,150"
paginatorPosition="bottom"
emptyMessage="Nada encontrado"
lazy="true">
<p:column headerText="ID" width="30">
<h:outputText value="#{dr.id}" />
</p:column>
<p:column headerText="Descrição" width="150">
<h:outputText value="#{dr.descricao}" />
</p:column>
<p:column headerText="Ações" width="10">
<p:commandLink id="btnEditar"
update="@all"
style="width: 30px;"
actionListener="#{menuBean.editar(dr)}"
immediate="true"
ajax="true"
title="Editar">
<h:graphicImage value="/resources/images/editar.png" />
</p:commandLink>
<p:commandLink
id="btnDeletar"
title="Deletar"
style="width: 30px;"
immediate="true"
onclick="btnDeletarShow.show();">
<h:graphicImage value="/resources/images/deletar.png" />
<f:setPropertyActionListener value="#{dr}" target="#{menuBean.menu}" />
</p:commandLink>
</p:column>
</p:dataTable>
</p:panel>
<p:confirmDialog
id="deleteConfirmDialog"
message="Deseja excluir?"
header="Iniciando processo de exclusão"
severity="alert"
widgetVar="btnDeletarShow"
showEffect="fade">
<p:commandButton id="confirm" value="Sim"
update="@all"
oncomplete="btnDeletarShow.hide();"
immediate="true"
action="#{menuBean.excluir()}" />
<p:commandButton id="decline" value="Não"
onclick="btnDeletarShow.hide();" type="button" />
</p:confirmDialog>