[英]When I delete a row in datatable does not disappear - primefaces - Java?
我有一个带有删除和编辑选项的表。 当我点击删除按钮时,数据并没有消失。 然后当我在浏览器上点击刷新时,信息被删除。
怎么了?
<p:dataTable id="tabla2" value="#{b_rep.tabla}" var="o" widgetVar="56" style="width: 600px;" editable="true">
<p:ajax event="rowEdit" listener="#{b_rep.onEdit}" />
<p:ajax event="rowEditCancel" listener="#{b_rep.onCancel}" />
<f:facet name="header">Información subida</f:facet>
<p:column headerText="Punto de venta" filterBy="#{o.nombre}" filterMatchMode="contains">
<f:facet name="header">
<h:outputText value="Nombre" />
</f:facet>
<h:outputText value="#{o.nombre}" />
</p:column>
<p:column headerText="Fecha" filterBy="#{o.fecha}" filterMatchMode="contains">
<f:facet name="header">
<h:outputText value="Fecha"/>
</f:facet>
<h:outputText value="#{o.fecha}">
<f:convertDateTime pattern="dd-MM-yyyy" />
</h:outputText>
</p:column>
<p:column headerText="Opc" style="width:60px">
<p:rowEditor></p:rowEditor>
</p:column>
</p:dataTable>
这是从表中删除信息的方法:
public void onCancel(RowEditEvent event) {
try {
rep_struct change = (rep_struct) event.getObject();
BD bd = new BD();
Connection con = bd.Conectar(url);
String sql = "DELETE FROM ventas";
sql += " WHERE codpv=?";
sql += " AND fecha=?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, change.getPdv());
ps.setDate(2, new java.sql.Date(change.getFecha().getTime()));
ps.executeUpdate();
ps.close();
//cargar_tabla();
tabla.remove((rep_struct) event.getObject());
FacesMessage msg = new FacesMessage("Item Borrado");
FacesContext.getCurrentInstance().addMessage(null, msg);
} catch (SQLException ex) {
Logger.getLogger(rep_bean.class.getName()).log(Level.SEVERE, null, ex);
}
}
<p:ajax event="rowEdit" listener="#{b_rep.onEdit}" update="tabla2"/>
<p:ajax event="rowEditCancel" listener="#{b_rep.onCancel}" update="tabla2"/>
你需要更新数据表
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.