0

私のアプリケーションでは、行を展開する前にクライアント側のメソッドを実行したい<p:dataTable>ので、を使用してonExpandStart="alert('Helo');"います。しかし、これも私にとってはうまくいきません。

.xhtml コード スニペット :

<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) を使用しています。ありがとう。

Update-1 : managedBean のコード スニペット:

@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>
4

1 に答える 1

0

<p:ajax event="rowToggle" onstart="alert('Helo');"/>代わりに試してくださいonExpandStart

于 2013-07-19T10:23:54.553 に答える