在PrimeFaces中动态创建DataTable

时间:2013-01-03 11:16:56

标签: excel jsf primefaces

我正在创建一个应用程序,用户将上传excel文件,应用程序将以DataTable的形式显示它。 到目前为止,我已经使用给定here

的代码编写了以下代码

    <h3>Dynamic Data table example</h3>
    <p:dataTable var="data" value="#{tableBean.people}">
        <p:columns value="#{tableBean.columns}" var="column"
            columnIndexVar="colIndex">
            <f:facet name="header">
            #{column.header}
            </f:facet>

        #{data[column.property]}
        </p:columns>
    </p:dataTable>

</h:form>

托管bean代码

private void addPeople() {
    people = new ArrayList<People>();

    People w1 = new People("Homer Simpson","The father",48);
    People w2 = new People("Marge Simpson","The mother",46);
    People w3 = new People("Bart Simpson","Oldest child",11);
    People w4 = new People("Lisa Simpson","Sister of Bart",8);

    people.add(w1);
    people.add(w2);
    people.add(w3);
    people.add(w4);
}

private void createDynamicColumns() {

    columns = new ArrayList<ColumnModel>();
    columns.add(new ColumnModel("Name", "name"));
    columns.add(new ColumnModel("Role", "role"));
    columns.add(new ColumnModel("Age", "age"));
}

Getter方法也包括在内。

这段代码工作正常,但是在这个例子中,我为行设置了模式(Name,Role,Age)。但是我不知道excel文件中有多少列,因此无法定义模式之前的行数据。

有没有办法解决这个问题?

0 个答案:

没有答案