2016-05-26 5 views
4

私は著者とルックアップ画面を持っており、AuthorsBrowse :: AbstractLookupのinitでカスタムクエリを使用してデータを読み込みます。私は表示したいデータを操作しますが、変更は保存しないでください。キューブプラットフォームで保存されていない変更メッセージを表示しない

私はタブを閉じた場合、私はこのメッセージダイアログが出ます:

あなたが保存されていない変更を破棄しますか 未保存の変更がありますか?

どうすればこのメッセージを抑制できますか?

答えて

4

このメッセージは、データソースが変更された場合に表示されます。

メッセージを抑制したい場合は、(それが変更された)データソースに追加する必要があり、そのようなallowCommit="false"属性:

<collectionDatasource id="authorsDs" 
         class="com.haulmont.workshop.core.entity.Author" 
         view="_local" allowCommit="false"> 
    <query> 
     <![CDATA[ 
     select e from ws$Author e where e.status = 10 
     ]]> 
    </query> 
</collectionDatasource> 
3

あなたはまたの未保存の変更の挙動をよりきめ細かく制御を実装することができます画面にWindow.Committableインターフェイスが実装されている場合は、画面が表示されます。インターフェイスには、ブール値を返すメソッドisModified()が含まれています。

AbstractEditorは既にこのインタフェースを実装し、次のようにそのisModified()に見える:

@Override 
public boolean isModified() { 
    return getDsContext() != null && getDsContext().isModified(); 
} 

あなたは、あなたのブラウザ画面でWindow.Committableを実装し、ただfalseを返すかisModified()にいくつかのロジックを記述することができます。

関連する問題