如何显示对话框支持 bean?
How to display dialog backing bean?
我在查看对话时遇到了问题。我正在尝试 运行 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。
我只能假设它是某种基于许可的,显示对话框?
如果是这种情况,您不想在批准之前呈现对话框,因为任何人都可以执行 widgetVar.show()。做这样的事情
<p:panel id="updateDialog">
<p:dialog rendered="#{bean.renderedBoolean}" visible="true">
dialog stuff
</p:dialog></p:panel>
当你想显示对话框时用 =false 初始化 renderBoolean
if (nivelAcceso == 0) { renderedBoolean=true;
RequestContext context = RequestContext.getCurrentInstance();
context.update("updateDialog");
}
我在查看对话时遇到了问题。我正在尝试 运行 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。
我只能假设它是某种基于许可的,显示对话框?
如果是这种情况,您不想在批准之前呈现对话框,因为任何人都可以执行 widgetVar.show()。做这样的事情
<p:panel id="updateDialog">
<p:dialog rendered="#{bean.renderedBoolean}" visible="true">
dialog stuff
</p:dialog></p:panel>
当你想显示对话框时用 =false 初始化 renderBoolean
if (nivelAcceso == 0) { renderedBoolean=true;
RequestContext context = RequestContext.getCurrentInstance();
context.update("updateDialog");
}