簡體   English   中英

Vaadin Flow 網格添加一個空行

[英]Vaadin Flow grid add an empty row

有人如何以編程方式添加新的空行(可能在網格底部或頂部)。 在稍后的狀態下,用戶輸入數據,或者在某些操作之后保存可能在數據庫中的所有行。

從技術上講,它應該相當簡單,特別是如果您將ListDataProvider用於網格,這里是簡化示例:

Grid<Bean> grid = new Grid<>(Bean.class);
ListDataProvider<Bean> dp = new ListDataProvider<>(getData());
grid.setDataProvider(dp);
add(grid);

Button button = new Button("Add row");
button.addClickListener(event -> {
    Bean bean = new Bean();
    dp.getItems().add(bean);
    dp.refreshAll();
    grid.getEditor().editItem(bean);       
});
add(button);
  1. 您使用 ListDataProvider 設置網格的數據提供者。

  2. Bean 對象覆蓋 hashCode 方法。 例如 :

    @Transient 私有長 sId;

    public ConstructorMethod () { sId = System.currentTimeMillis(); }

    @Override public int hashCode() { if (isNew()) return (int) (super.hashCode()+sId); 否則返回 super.hashCode(); }

  3. 新建一個 bean 對象並添加到網格的 ListDataProvider

     BeanClass item = new BeanClass(); (ListDataProvider<BeanClass>)grid.getDataProvider().getItems().add(item); (ListDataProvider<BeanClass>)grid.getDataProvider().refreshAll();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM