我正在使用NB 7.4,JavaDb,jdk 7。
我尝试了这个例子:http://simsam7.blogspot.in/2013/06/quick-crud-application-on-netbeans-73.html
在CRUD中,CRU运行良好,但删除不起作用,并且它也没有抛出任何错误。
我的删除代码按钮。
int[] selected = masterTable.getSelectedRows();
List<com.fz.PurchaseOrder> toRemove = new ArrayList<com.fz.PurchaseOrder>(selected.length);
for (int idx = 0; idx < selected.length; idx++) {
com.fz.PurchaseOrder p = list.get(masterTable.convertRowIndexToModel(selected[idx]));
toRemove.add(p);
entityManager.remove(p);
}
list.removeAll(toRemove);
我完成了调试,我认为是entityManager.remove(p)的错误。
INFO:输出GUI - 表格中的行删除/删除不错,但是当我刷新它时会再次显示。
答案 0 :(得分:1)
我通过这段代码解决了我的问题。它有效,但我不确定,这是正确的方法吗?
int[] selected = masterTable.getSelectedRows();
List<Products> toRemove = new ArrayList<Products>(selected.length);
for (int idx = 0; idx < selected.length; idx++) {
Products p = list.get(masterTable.convertRowIndexToModel(selected[idx]));
toRemove.add(p);
entityManager.remove(p);
}
try {
entityManager.getTransaction().commit();
entityManager.getTransaction().begin();
} catch (Exception e) {
}
list.removeAll(toRemove);
如果有更好的方法,请告诉我。