簡體   English   中英

如何在Vaadin 7中單擊保存按鈕或指定事件后進行分配

[英]How to listen on save button or assign an event after it was clicked in Vaadin 7

當我編輯網格內聯時,我可以保存或取消我的網格行更改。 我想在按下'save'按鈕后更新我的數據庫條目(數據庫機制已經完成)我該如何實現它?

我的容器: BeanItemContainer<CategoryOfService> beansContainer;

編輯視圖: 在此輸入圖像描述

所有我需要的東西都知道我必須使用哪些聽眾。 我找到了一些我可以通過EditorFieldGroup類添加的CommitHandler,但是我無法正確實現它可能必須有另一種方法來解決問題。

有一種方法可以捕獲內聯Save點擊網格。

grid.getEditorFieldGroup().addCommitHandler(new FieldGroup.CommitHandler() {
        @Override
        public void preCommit(FieldGroup.CommitEvent commitEvent) throws     FieldGroup.CommitException {
        //...
        }

        @Override
        public void postCommit(FieldGroup.CommitEvent commitEvent) throws     FieldGroup.CommitException {
        //...
        }
});

單擊Save兩個方法都會調用preCommit和postCommit。

希望能幫助到你 :)

Grid目前沒有為您提供任何直接的方法來將監聽器添加到內聯編輯器的保存和取消按鈕,盡管這可能會在Vaadin 7.6中發生變化。

作為一種解決方法,在此之前,您已經提到的CommitHandler方法仍然可以工作。 你可以在這里找到一個基本的例子。 BeanItemContainer的內容應該在postCommit階段完全更新。

grid.getEditor().addSaveListener((EditorSaveListener<Product>) event -> {
        //your stuf
        HibernateDataSource.updateProduct(event.getBean());
    });

暫無
暫無

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

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