2016-06-22 16 views
1

私はVaadin ウィンドウ1を持っています。これにはデータベースからの項目のComboBoxが含まれています。このアイテムを選択するとComboBox私はウィンドウ2が表示されます。このウィンドウ2は私にデータベースにデータを追加する可能性を与えてくれます。今度は、私のComboBoxの新しい項目を、ウィンドウ1に、ウィンドウ2の後に見たいと思います。あなたはそれを達成する方法をお考えですか?ウィンドウ2の更新後にウィンドウ1のコンボボックスを更新するVaadin

+1

データベースからvaadinコンポーネントへのデータバインディングはどのように行いますか?データバインディングに応じて、refreshEventsをトリガするか、手動で行うことができます。 –

+0

これは私のコンボボックスを作成する方法です:phaseStatus = new ComboBox( "Phase Status"); \t \t phaseStatus.setWidth( "250px"); \t \t phaseStatus.setImmediate(true); \t \t phaseStatusItem = securityAssessmentPhaseStatusRepository.findAll(); (SecurityAssessmentPhaseStatusのM:phaseStatusItem)用 \t \t { \t \t \t phaseStatus.addItem(m.getOid())。 \t \t \t phaseStatus.setItemCaption(m.getOid()、m.getStatusName()); \t \t} – FoufaFaFa

答えて

0

コンテナのデータソースを更新する必要があります。私の場合、私はJPAContainerrefresh()メソッドを持っていました。documentationを参照してください。 SQLContainerを使用する場合は、documentationをご覧ください。

ComboBoxのメソッドaddItemを使用しない場合は、removeAllItemsと呼び出して(DBクエリを再度実行して)新しいアイテムを追加する必要があります。

+0

これは私のコンボボックスの作成方法です:phaseStatus = new ComboBox( "Phase Status"); phaseStatus.setWidth( "250px"); phaseStatus.setImmediate(true); phaseStatusItem = securityAssessmentPhaseStatusRepository.findAll(); for(SecurityAssessmentPhaseStatus m:phaseStatusItem){phaseStatus.addItem(m.getOid()); phaseStatus.setItemCaption(m.getOid()、m.getStatusName()); } - – FoufaFaFa

+0

さて、古いアイテムを削除し、新しいアイテムを 'ComboBox'に追加する必要があります。私は私の答えに適応します。 –

+0

ありがとうございました – FoufaFaFa

関連する問題