DaniloAndrade, abaixo a parte do dialog e o botão no xhtml. Deixa eu te explicar como funciona: o usuário pode selecionar a editora por 2 jeitos :
1º --> Se ele souber o código da mesma, ele digita no Input e dá um tab (faz com que apareça o nome da editora que ele escolheu). Se o código não for encontrado, daí vem a dita warn…
2º --> Senão, ele clica no ComandButton e escolhe a editora por lá… Aki, nesse caso, não tem nda de mensagem…
Abaixo o código:
<p:tab title="Cadastro" id="tabForm" rendered="#{sec:ifNotGranted('USR')}" >
<p:growl id="grow2" life="4000"/>
<p:focus for="aceTitulo"/>
<p:dialog resizable="false" appendToBody="false" header="Pesquisa de Editora"
widgetVar="EditoraDlg" id="editoraDlg" modal="true" style="position: fixed">
<p:panel header="Filtros de Consulta" id="parametrosEditoras">
<table border="0" cellpadding="2" cellspacing="0" style="margin-right: 40px">
<tr>
<td align="right">Código:</td>
<td>
<p:inputMask id="inputPesquisaEditora1" onfocus="this.value='';" mask="9?9999" placeHolder="" size="6" value="#{editorasJsfBean.ediCodigo}"/>
</td>
</tr>
<tr>
<td align="right">Descrição:</td>
<td>
<p:inputText id="inputPesquisaEditora2" onfocus="this.value='';" size="40" value="#{editorasJsfBean.ediDescricao}"/>
</td>
</tr>
</table>
<br/>
<p:commandButton id="butonConsultarEditora" actionListener="#{editorasJsfBean.atualizar()}" value="Consultar" image="search" update="tabelaEditoras" process="parametrosEditoras" onfocus="inputPesquisaEditora1"/>
</p:panel>
<div style="height:500px;overflow-x:auto;overflow-y:scroll;width: 1000px">
<p:dataTable id="tabelaEditoras"
rowStyleClass="#{empty rowIx or rowIx mod 2 ne 0 ? 'even-row' : 'odd-row'}"
rowIndexVar="rowIx"
var="editora"
value="#{editorasJsfBean.editorasList}"
emptyMessage="Nenhum registro encontrado."
paginator="true"
paginatorPosition="bottom"
lazy="true"
rows="10" pageLinks="10"
paginatorTemplate="{CurrentPageReport} {FirstPageLink}
{PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}
Exibir: {RowsPerPageDropdown}
Registros Encontrados: #{editorasJsfBean.editorasList.rowCount}"
rowsPerPageTemplate="10,25,35,50">
<p:column headerText="Código" width="30">
<h:outputText value="#{editora.ediCodigo}"/>
</p:column>
<p:column headerText="Descrição">
<h:outputText value="#{editora.ediDescricao}"/>
</p:column>
<p:column headerText="Ação" width="50">
<p:commandButton update="@form" value="Selecionar" image="ok" title="Selecionar">
<f:setPropertyActionListener value="#{editora}" target="#{acervoJsfBean.crudObj.aceeditora}" />
<f:setPropertyActionListener value="#{editora.ediCodigo}" target="#{acervoJsfBean.codigoEditoraParaRegistro}" />
<f:ajax render="codigo_editora" event="change" listener="#{acervoJsfBean.atualizarCodigoDeEditora(event)}"/>
</p:commandButton>
</p:column>
</p:dataTable>
</div>
</p:dialog>
.....................................................................MAIS COISAS DA TELA.......................................................
............................Abaixo os inputsText e o Btn................
<div>
<td align="right">Editora:</td>
<h:panelGrid id="pnl_editora" columns="3">
<p:inputMask onkeypress="chamaDialog(event,'codigo_editora')" id="codigo_editora" size="6" mask="9?9999" required="false" requiredMessage="O campo editora deve ser informado." placeHolder="" value="#{acervoJsfBean.codigoEditoraParaRegistro}" >
<f:ajax render="codigo_editoraMostra" event="change" listener="#{acervoJsfBean.atualizarEditoraPorCodigo(event)}"/>
</p:inputMask>
<p:inputText id="codigo_editoraMostra" disabled="true" required="false" requiredMessage="O campo editora deve ser informado." value="#{acervoJsfBean.crudObj.aceeditora.ediDescricao}" style="width: 190px"/>
<p:commandButton id="abreDialogEditora" icon="ui-icon-search" onclick="EditoraDlg.show()"/>
</h:panelGrid><br/>
</div>