查看对话时遇到问题。我正在尝试在bean方法中运行一个对话框:
nivelAcceso = login.getSeguridadManager().nivelAcceso(expediente.getTipoExpediente());
if (nivelAcceso == 0) {
RequestContext context = RequestContext.getCurrentInstance();
context.execute("Vista.show()");
}
我想要做的是如果nivelAcceso = 0执行对话但是你没有这样做,好像对话框没有执行命令我检查我的页面上的nivelAcceso是否为0我有以下内容:
<p:column width="80">
<f:facet name="header">
<p:outputLabel value="Opciones"/>
</f:facet>
<p:commandLink value="Ver"
actionListener="#{verExpedienteController.abrirExpediente(expediente.id)}" />
</p:column>
<p:ajax event="rowDblselect"
listener="#{verExpedienteController.abrirExpediente(verExpedienteController.expedienteSeleccionado.id)}"/>
我的工作正常,但是当我给出commandLink时,如果这个panelGrid
,则不会打开对话框<p:panelGrid style="width: 100%" rendered="#{verExpedienteController.expediente eq null or verExpedienteController.nivelAcceso eq 0}">
<p:row>
<p:column style="text-align: center">
<p:outputLabel value="#{verExpedienteController.expediente eq null? 'Disculpe, la Subserie no existe' : 'Disculpe, no posee permisos para ver este Expediente'}"/>
</p:column>
</p:row>
<p:row>
<p:column style="text-align: center">
<p:commandButton value="Cancelar" action="BusquedaExpediente"/>
</p:column>
</p:row>
</p:panelGrid>
我想打开对话框而不是可能导致问题的panelGrid。
答案 0 :(得分:0)
我只能假设它是某种基于权限的显示对话框?
如果是这种情况,你不希望在批准之前呈现对话框,因为任何人都可以执行widgetVar.show()。做类似的事情<p:panel id="updateDialog">
<p:dialog rendered="#{bean.renderedBoolean}" visible="true">
dialog stuff
</p:dialog></p:panel>
当你想要显示对话框时,用_ =初始化renderBoolean
if (nivelAcceso == 0) { renderedBoolean=true;
RequestContext context = RequestContext.getCurrentInstance();
context.update("updateDialog");
}