Jsf PrimeFaces 3.5使用菜单模型的动态上下文菜单与PrimeFaces的静态上下文菜单不协同工作
我在应用程序中使用PrimeFaces 3.5Jsf PrimeFaces 3.5使用菜单模型的动态上下文菜单与PrimeFaces的静态上下文菜单不协同工作,jsf,jsf-2,primefaces,Jsf,Jsf 2,Primefaces,我在应用程序中使用PrimeFaces 3.5 我在代码中做了一些更改,并开始使用动态上下文菜单,使用服务器端代码代替primefaces的静态简单上下文菜单 示例代码 MenuItem menu1= new MenuItem(); menu1.setValue(Label); menu1.setActionExpression(expFact.createMethodExpression(elCtx, "#{classname.methodnam
MenuItem menu1= new MenuItem();
menu1.setValue(Label);
menu1.setActionExpression(expFact.createMethodExpression(elCtx, "#{classname.methodname}", Void.class, new Class[0]));
menu1.setOncomplete("Dialog1.show()");
model.addMenuItem(menu1);
请帮助我并提前感谢。事实上,我使用的是Datatable,在Datatable中,我无法实现上下文菜单。但我使用了简单的解决方案,我的问题得到了解决
<p:contextMenu for="Tableid" id="contextid" widgetVar="contextwidgetvar">
<p:menuitem value="Menu 1" oncomplete="confirmationdialog.show()" />
</p:contextMenu>
<p:dataTable id="Tableid" widgetVar="Table" var="sItem"
value="#{classname.methodname}" rowKey="#{sItem.id}" selection="#{classname.methodname.selectedObject}"selectionMode="single" lazy="true" editable="true">
<p:ajax event="contextMenu" oncomplete="contextwidgetvar.show();" />
</p:dataTable>
这个简单的步骤解决了问题。
有时您可能需要添加一些javascript,以避免总是获取选定对象中的第一行