带有 inputText 的可编辑数据表
Editable dataTable with inputText
我想向我的数据中添加一个 inputTextTable。此 inputText 将用于添加新用户(姓名、角色、年龄)并将其保存到数据库中。我还可以更新数据 Table 中的现有值。例如,假设我有这个数据Table.
我想做的是在单击按钮时将 inputText 字段动态添加到 Table 的第一行。我填写要插入的值并单击保存按钮。
我的想法是将 editable="true"
添加到数据 Table 并像这样使用 <p:cellEditor>
和 <p:rowEditor/>
:
<p:dataTable var="item" value="#{userControler.users}" editable="true">
<p:column>
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{item.name}"/>
</f:facet>
<f:facet name="input">
<p:inputText value="#{item.name}" style="width:100%"/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column>
<p:rowEditor />
</p:column>
</p:dataTable>
然后在我的列表中添加一个新的 epmty 用户,刷新数据Table,编辑新用户并将其保存在事件 rowEdit
上。还有另一种方法吗?
因为我面临的问题是由于我的复合 ID。当我输入新值时,我不知道我是要更新还是保存给定值。 (假设 composite-id 是名称和角色。如果我想插入一个新值,然后我犯了一个错误并插入了一个现有值,我将进行更新而不是错误消息)。
希望我说得够清楚了。如果没有我可以提供更多information.Thank你。
我按照 BalusC 的建议做了。
<p:dataTable var="item" value="#{userControler.users}" editable="true">
<p:column>
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{item.name}"/>
</f:facet>
<f:facet name="input">
<p:inputText value="#{item.name}" style="width:100%"/>
</f:facet>
</p:cellEditor>
<f:facet name="footer">
<p:inputText value="#{userControler.newUser.name}" />
</f:facet>
</p:column>
<p:column>
<p:rowEditor />
<f:facet name="footer"><p:commandButton action="#{userControler.add}"/></f:facet>
</p:column>
</p:dataTable>
工作正常。
我想向我的数据中添加一个 inputTextTable。此 inputText 将用于添加新用户(姓名、角色、年龄)并将其保存到数据库中。我还可以更新数据 Table 中的现有值。例如,假设我有这个数据Table.
我想做的是在单击按钮时将 inputText 字段动态添加到 Table 的第一行。我填写要插入的值并单击保存按钮。
我的想法是将 editable="true"
添加到数据 Table 并像这样使用 <p:cellEditor>
和 <p:rowEditor/>
:
<p:dataTable var="item" value="#{userControler.users}" editable="true">
<p:column>
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{item.name}"/>
</f:facet>
<f:facet name="input">
<p:inputText value="#{item.name}" style="width:100%"/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column>
<p:rowEditor />
</p:column>
</p:dataTable>
然后在我的列表中添加一个新的 epmty 用户,刷新数据Table,编辑新用户并将其保存在事件 rowEdit
上。还有另一种方法吗?
因为我面临的问题是由于我的复合 ID。当我输入新值时,我不知道我是要更新还是保存给定值。 (假设 composite-id 是名称和角色。如果我想插入一个新值,然后我犯了一个错误并插入了一个现有值,我将进行更新而不是错误消息)。
希望我说得够清楚了。如果没有我可以提供更多information.Thank你。
我按照 BalusC 的建议做了。
<p:dataTable var="item" value="#{userControler.users}" editable="true">
<p:column>
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{item.name}"/>
</f:facet>
<f:facet name="input">
<p:inputText value="#{item.name}" style="width:100%"/>
</f:facet>
</p:cellEditor>
<f:facet name="footer">
<p:inputText value="#{userControler.newUser.name}" />
</f:facet>
</p:column>
<p:column>
<p:rowEditor />
<f:facet name="footer"><p:commandButton action="#{userControler.add}"/></f:facet>
</p:column>
</p:dataTable>
工作正常。