我想使用 DataTable 执行以下场景:
- 默认情况下,数据表中应该只有一行有一个 InputTextfield 和一个 Button。
- 一旦用户输入名称并单击该按钮,名称应添加到数据表中。
- 这个过程会重复很多次。
1
2
3
任何想法如何做到这一点?
以前有人做过吗?
请提出您的建议。
编辑:上面的图像在 Photoshop 中更改,而不是我的代码的确切输出。
我想使用 DataTable 执行以下场景:
1
2
3
任何想法如何做到这一点?
以前有人做过吗?
请提出您的建议。
编辑:上面的图像在 Photoshop 中更改,而不是我的代码的确切输出。
正如 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>
希望这能回答你的问题..