【问题标题】:PrimeFaces DataTable which is inside OverlayPanel stops working when OverlayPanel is used inside Dialog当在 Dialog 中使用 OverlayPanel 时,位于 OverlayPanel 中的 PrimeFaces DataTable 停止工作
【发布时间】:2017-04-11 05:49:07
【问题描述】:

这是我的场景。 Room 对象与 Tax 对象具有 ManyToOne 关系。 Room 有两个页面,Create NewList All

在创建新页面,有税字段。我使用 OverlayPanel + DataTable + SelectEvent 来分配税对象,而不是使用 AutoComplete 或 SelectOneMenu。在此页面上一切正常。

在列出所有页面,我使用弹出对话框来编辑所需的记录。 OverlayPanel + DataTable 不再工作,因为 OverlayPanel 在对话框内。 SelectEvent 仍然调用 Tax Setter Method 但值为 null。

我使用 PrimeFaces 3.5 并寻找仅适用于 PrimeFaces 3.5 的解决方案。感谢您的帮助!

【问题讨论】:

    标签: jsf primefaces


    【解决方案1】:

    我认为OverlayPanel(里面的DataTable)和Dialog不兼容。再次使用 Dialog 而不是 OverlayPanel 解决了这个问题。 Dialog 内的 Dialog 工作正常。我必须将appendToBody="true" 属性添加到子对话框,因为 UI 被阻止。我使用 PrimeFaces 3.5 并为我工作。

    【讨论】:

    • 请不要“想”确定 ;-)... 由于您没有发布任何代码,因此很难得出结论。 “我认为 OverlayPanel 与 Dialog 不兼容” 这不是真的,请记住,您使用的是 old 版本.. 并且 " Dialog 内的 Dialog 有效很好。确保子对话框应该有 appendToBody="true" 属性。" 也不是真的......完全取决于你的用例
    • 是的。我的答案真的取决于我的用例。我不会使用最新版本。出于多种原因,我只能使用 3.5。我只是分享我的解决方案。 DataTable 在 OverlayPanel 中。没关系。当 OverlayPanel 移入 Dialog 时,DataTable 不再工作。您可以找到类似的问题,但没有解决方案。所以我使用Dialog而不是OverlayPanel。 DataTable 再次工作。如果我不添加 appendToBody="true",我什至无法单击它。对你来说可能是“不正确的”。但它解决了我的问题。 :-)
    • 但是由于您没有发布任何代码,因此很难知道 您的 用例是什么,因此其他人几乎无法学习或查看此“解决方法”是否对他们有效或者他们还有其他问题
    猜你喜欢
    • 2012-07-03
    • 1970-01-01
    • 2013-05-29
    • 1970-01-01
    • 2014-06-24
    • 1970-01-01
    • 2013-03-17
    • 1970-01-01
    • 2012-08-07
    相关资源
    最近更新 更多