Jsf 2 primefaces关联菜单不更新为对话框输入
我已经看到了这个问题。请查看我的jsf页面Jsf 2 primefaces关联菜单不更新为对话框输入,jsf-2,primefaces,contextmenu,Jsf 2,Primefaces,Contextmenu,我已经看到了这个问题。请查看我的jsf页面 <h:form id="companyList"> <p:contextMenu for="companiesDB" style="height:53px;"> <p:menuitem value=" edit" update="panelGrid" icon="ui-icon-pencil" oncomplete="editCompany.show()" />
<h:form id="companyList">
<p:contextMenu for="companiesDB" style="height:53px;">
<p:menuitem value=" edit" update="panelGrid" icon="ui-icon-pencil" oncomplete="editCompany.show()" />
<p:menuitem value=" delete" update="panelGrid" icon="ui-icon-closethick" onclick="editCompany.show()" />
</p:contextMenu>
<p:dataTable id="companiesDB" var="companies"
value="#{companyController.companyList}" rowKey="#{companies.pkId}"
selection="#{companyController.selectedCompany}"
selectionMode="single" paginator="true"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rows="20" >
<p:column headerText="name">
#{companies.companyName}
</p:column>
<p:column headerText="desc">
#{companies.description}
</p:column>
</p:dataTable>
<p:dialog header="edit mode" widgetVar="editCompany"
modal="true" height="160" width="390"
id="dialog" resizable="false">
<p:panelGrid cellpadding="10" id="panelGrid" >
<p:row>
<p:column width="300">
<h:outputText value="name:" style="float:left;" />
</p:column>
<p:column>
<p:inputText value="#{companyController.selectedCompany.companyName}"/>
</p:column>
</p:row>
<p:row>
<p:column>
<h:outputText value="desc:" style="float:right;" />
</p:column>
<p:column>
<p:inputText
value="#{companyController.selectedCompany.description}" />
</p:column>
</p:row>
</p:panelGrid>
<br />
<br />
<p:commandButton value="save" icon="ui-icon-check"
style="float:right; margin-right:25px;" update="companiesDB"
oncomplete="addCompany.hide();"
action="#{companyController.insertCompany()}">
</p:commandButton>
</p:dialog>
</h:form>
#{companys.companyName}
#{公司说明}
控制台错误为:
/company.xhtml@46,91 value=“#{companyController.selectedCompany.companyName}”:无法访问目标,“selectedCompany”返回null请尝试将对话框id重命名为
mydialog
(为了安全起见)
并按如下方式更新菜单项(请注意update=“mydialog”
):
最后一件事:将
id=contextMenuID
添加到您的上下文菜单中谢谢您的反馈。我需要在哪里写这个contextID?请解释contextID及其使用方法?
Daniel,p:menuitem的禁用属性?我的contextMenu未呈现。单击鼠标2未呈现。单击鼠标2时,第一次呈现contextMenu,然后在大约1秒钟内未呈现它
<p:menuitem value="edit" update="mydialog" icon="ui-icon-pencil" oncomplete="editCompany.show()" />
<p:menuitem value="edit" disabled=#{companyController.selectedCompany eq null}.....
<p:dataTable.......>
<p:ajax event="rowSelect" update="contextMenuID" />
<p:ajax event="rowUnselect" update="contextMenuID" />