【问题标题】:<p:dataTable>'s onExpandStart attribute is not working<p:dataTable> 的 onExpandStart 属性不起作用
【发布时间】:2013-07-19 09:29:10
【问题描述】:

在我的应用程序中,我想在扩展&lt;p:dataTable&gt; 行之前执行客户端方法,所以我使用onExpandStart="alert('Helo');"。但这也不适合我。

.xhtml 代码 sn-p :

<p:dataTable value="#{ExampleDataModel}" lazy="true" paginator="true" onExpandStart="alert('Helo');">
    <p:column id="rowToggle" styleClass="rowtoggle">
        <p:rowToggler />
    </p:column>
    <p:rowExpansion>
          ..........
    </p:rowExpansion>
</p:dataTable>

谁能告诉我哪里做错了?我正在使用 PF 3.4,Mojara(2)。谢谢。

更新 1: managedBean 的代码 sn -p :

@ManagedBean(name = "columnController")
@ViewScoped
public class ColumnController implements Serializable {
private List<ColumnDTO> userNames;


public List<ColumnDTO> getUserNames() {
    List<ColumnDTO> columns = new ArrayList<ColumnDTO>();
    columns.add(new ColumnDTO(Integer.valueOf(1), "Diganta"));
    columns.add(new ColumnDTO(Integer.valueOf(2), "Jayanta"));
    columns.add(new ColumnDTO(Integer.valueOf(3), "Proloy"));

    return columns;
}
public void setUserNames(List<ColumnDTO> userNames) {
    this.userNames = userNames;
}
}

ColumnDTO.java:

public class ColumnDTO implements Serializable {

private static final long serialVersionUID = 4828438441215128064L;

private Integer columnId;
private String columnName;

public ColumnDTO(Integer index, String columnName) {
    this.columnId = index;
    this.columnName = columnName;
}
    //...........getter setter
   }

.xhtml 代码

<h:head></h:head> 
<body> 
<h:form>
<p:dataTable value="#{columnController.userNames}" var="name" onExpandStart="alert('Hello')">
    <p:column>
        <p:rowToggler/>
    </p:column>
    <p:column>
        <h:outputText value="#{name.columnName}" />
    </p:column>
    <p:rowExpansion>
        <h:outputText value="#{name.columnId}" />
    </p:rowExpansion>
</p:dataTable>
</h:form>
</body> 
</html>

【问题讨论】:

  • 表格内有数据表吗?>
  • @Makky :yes 数据表在 &lt;h:form&gt; 内。
  • 发布完整的代码,包括你的 backbean。
  • @Makky 感谢您的回复:我已经更新了我的代码。

标签: java jsf primefaces xhtml datatable


【解决方案1】:

尝试&lt;p:ajax event="rowToggle" onstart="alert('Helo');"/&gt; 而不是onExpandStart

【讨论】:

  • 感谢@Balibia 的回复,我已经尝试过了,但它被称为行折叠和展开。我只需要rowExpand。
猜你喜欢
  • 2016-10-06
  • 1970-01-01
  • 2013-07-19
  • 1970-01-01
  • 2013-08-09
  • 2013-11-20
  • 2019-01-12
  • 2017-10-17
  • 1970-01-01
相关资源
最近更新 更多