首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataTable - ContextMenu

DataTable - ContextMenu
EN

Stack Overflow用户
提问于 2019-04-10 22:37:15
回答 1查看 433关注 0票数 1

Primefaces迁移-指南5.3至6.0:

ContextMenu: p:contextMenu现在必须放在xhtml中的目标组件(例如数据表)之后。

我试过了,但不起作用。完全没有菜单。

显示将ContextMenu放在dataTable之前:菜单。浏览器控制台上的其他输出:

ContextMenu针对的是一个尚不可用的小部件。请将contextMenu放在目标组件之后。targetWidgetVar: widget_base_cars

我的Webshpere Liberty日志:

代码语言:javascript
复制
...org.primefaces.webapp.PostConstructApplicationEventListener  I Running on PrimeFaces 7.0

Java:

代码语言:javascript
复制
java.version = 1.8.0_102

剥离到primefaces showcase

代码语言:javascript
复制
<h:body>

    <h1>Context Menu</h1>
    <h2>ContextMenu: p:contextMenu must be placed AFTER the target component</h2>

    <h:form id="base" >

        <p:dataTable id="cars" var="car" value="#{dtContextMenuView.cars}" rowKey="#{car.id}" >
            <f:facet name="header">
                List with #{dtContextMenuView.numberOfCars} Items
            </f:facet>
            <p:column headerText="Id">
                <h:outputText value="#{car.id}" />
            </p:column>
            <p:column headerText="Year">
                <h:outputText value="#{car.year}" />
            </p:column>
            <p:column headerText="Brand">
                <h:outputText value="#{car.brand}" />
            </p:column>
            <p:column headerText="Color">
                <h:outputText value="#{car.color}" />
            </p:column>
        </p:dataTable>

        <p:contextMenu for="cars" >
            <p:menuitem value="Hello" />
            <p:menuitem value="World" />
        </p:contextMenu>


        <h2>but it fails</h2>

    </h:form>

</h:body>

我希望菜单在右键单击时显示。

是虫子,还是我是虫子?

EN

回答 1

Stack Overflow用户

发布于 2019-04-11 02:00:24

我用PF 5.3/6.0/7.0重现了这个测试。只要你的p:dataTable不可选,我就支持你:

当将添加到xhtml中的p:dataTable元素之上时,p:contextMenu会出现在右键单击上。当在下面添加时,根本不会出现上下文菜单。但是tbh.:上下文菜单对不允许选择的datatable有用吗?

当通过添加属性使其可选时

代码语言:javascript
复制
selection="#{myBean.selectedValue}" selectionMode="singel"

它的行为如下:

  • p:contextMenu迁移指南建议的p:dataTable下方:右键单击时,单击的行将被选中,上下文菜单出现在p:dataTable上方的it.
  • p:contextMenu上:右键单击时,上下文菜单也会出现,但该行未被选中。

因此,如果将p:contextMenu添加到表的上方,选择就不会像预期的那样工作,这一定是迁移指南显示“添加到下面!”的原因。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55615259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档