【问题标题】:select one panelGrid and set object选择一个panelGrid并设置对象
【发布时间】:2020-06-18 15:52:45
【问题描述】:

我有很多panelGrid,我想在点击panelGrid时打开一个对话框。

问题总是选择最后一个panelGrid。

index.xhtml

<p:dataGrid var="object" value="#{vc.objects}" 
layout="grid" id="dataGridObject">
    <h:panelGrid columns="1" onclick="rc()">                                                                                                              
        <h:outputText value="#{object.name} " />                                                                                                       
        <p:remoteCommand name="rc" update="formX" 
oncomplete="PF('dlgDetails').show()" action="#{vc.updateSelectObject(object)}"/>
    </h:panelGrid>
</p:dataGrid>

ViewController.java

private Object selectObject;

public void updateSelectObject(Object object){
    setSelectObject(object);
}

public Object getSelectObject() {
    return selectObject;
}

public void setSelectObject(Object selectObject) {
    this.selectObject = selectObject;
}

【问题讨论】:

  • 检查您的来源。看看有多少个叫做rc()的javascript函数。
  • Kukeltje,怎么样???我不明白。
  • 看到重复的,我的意思是客户端的html源代码,对不起
  • 我的问题是数据网格,而不是数据表...使用数据表我可以选择行..

标签: jsf primefaces


【解决方案1】:

您为什么不尝试另一种方法。在这种情况下,使用 dataGrid 您可以将 outputText 和 remoteCommand 替换为 commandButton,并且您可以设置按钮的样式,使其看起来像一个面板。

    <p:dataGrid var="object" value="#{vc.objects}" 
     layout="grid" id="dataGridObject" columns="1">
     <p:commandButton value="#{object.name}" 
     actionListener="#{vc.updateSelectObject(object)}" process="@this"
     update="formX" oncomplete="PF('dlgDetails').show()" />
    </p:dataGrid>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-22
    • 2021-06-15
    • 1970-01-01
    • 2021-09-06
    相关资源
    最近更新 更多