我使用Vaadin(6.7.4)和此表(它在模態窗口上)不更新視圖。無論我嘗試什麼,Vaadin Table都不會更新
首先它是用生成的列創建的,但我讀到它有表更新的問題,所以我切換回普通表,但仍然沒有刷新。
的UpdateData由按鈕單擊事件面板上稱爲
final Table table = new Table();
final IndexedContainer ic=new IndexedContainer();
public createTable(){
table.setImmediate(true);
table.setEnabled(true);
ic.addContainerProperty("Name", String.class, null);
ic.addContainerProperty("Edit", Button.class, null);
ic.addContainerProperty("Delete", Button.class, null);
table.setContainerDataSource(ic);
}
public void addItems(Table table) {
for (String s : createdNames) {
ic.addItem(s);
ic.getItem(s).getItemProperty("Name").setValue(s);
ic.getItem(s).getItemProperty("Edit").setValue("Edit");
ic.getItem(s).getItemProperty("Delete").setValue("Delete");
}
}
public void updateData() {
IndexedContainer c=(IndexedContainer) table.getContainerDataSource();
c.removeAllItems();
c.addItem("myname");
c.getContainerProperty("myname", "Name").setValue("Mr.X");
table.setContainerDataSource(c);
table.refreshRowCache();
table.requestRepaint();
System.out.println("see the output but no update on table");
}
編輯:原來問題不是這個代碼,但這個類被實例化時的2倍,所以我有不同的情況;我正在更新的那個和我看到的那個。
謝謝,但這是所有與表相關的代碼,任何建議我應該在哪裏檢查問題? – Spring
對不起,但實際上不可能在沒有看到其他代碼的情況下推斷出問題。然而,瘋狂的猜測是:每次updateData()後都會調用createTable()方法? – hezamu