0

我想使用 DataTable 执行以下场景:

  • 默认情况下,数据表中应该只有一行有一个 InputTextfield 和一个 Button。
  • 一旦用户输入名称并单击该按钮,名称应添加到数据表中。
  • 这个过程会重复很多次。

1

在此处输入图像描述

2

在此处输入图像描述

3

在此处输入图像描述

任何想法如何做到这一点?
以前有人做过吗?
请提出您的建议。

编辑:上面的图像在 Photoshop 中更改,而不是我的代码的确切输出。

4

1 回答 1

2

正如 persissf 所说,您可以使用标头进行输入。

我有您问题的示例代码。

@SessionScoped
@ManagedBean

public class DataBean implements Serializable{

    private static final long serialVersionUID = 1L;
    List<String> data;
    String name;

    public DataBean(){
        data=new ArrayList<String>();
    }
    /**
     * @return the data
     */
    public List<String> getData() {
        return data;
    }

    /**
     * @param data the data to set
     */
    public void setData(List<String> data) {
        this.data = data;
    }

    /**
     * @return the name
     */
    public String getName() {
        return name;
    }

    /**
     * @param name the name to set
     */
    public void setName(String name) {
        this.name = name;
    }

    public void update(){
        data.add(name);
    }


}

看法:

<h:body>
    <h:form prependId="false">

    <p:dataTable value="#{dataBean.data}" var="data" id="datatable">

        <p:column>
            <f:facet name="header">
                <h:outputText value="UserNames:" />
                <h:inputText value="#{dataBean.name}" />
                <p:commandButton value="Submit" action="#{dataBean.update}"
                    update="@form,datatable">
                </p:commandButton>
            </f:facet>

            <h:outputText value="#{data}" />
        </p:column>
    </p:dataTable>

</h:form>

希望这能回答你的问题..

于 2013-08-05T13:34:29.513 回答