如何刷新CDIview以反映另一个CDIVIEW中所做的更改



我正在使用 cdi-helpers addon,而我的 UI扩展了 ViewMenuUI。我有 CDIViews喜欢

ogscontractview

@UIScoped
@CDIView("Contract")
@ViewMenuItem(order = ViewMenuItem.DEFAULT, icon = FontAwesome.BANK)
public class OGSContractView extends CssLayout implements View{ 
    // There's some UI Fields and some Functions to refresh the UI Fields
    public void RefreshList(){...}
}

Schoolview

@UIScoped
@CDIView("School")
@ViewMenuItem(order = ViewMenuItem.DEFAULT, icon = FontAwesome.BANK)
public class SchoolView extends CssLayout implements View{
    //Some UI and functions inside
    //here, after some changes, I want to call a Refresh_Function 
    //from my OGSContractView class
    someData.saveInDatabase();
    ogsContractView.refreshList(); // here is my problem
}

SchoolView中,我正在更改数据库中的一些数据,然后我想调用OGSContractView.refreshList()以更新那里的某些UI字段。

我该怎么做?

用于更新的问题。您无需从另一个视图调用refresh()

您可以在OGSContractView上覆盖public void enter(ViewChangeEvent event),例如

@Override
public void enter(ViewChangeEvent event) {
   refresh():
}

上面的方法每次输入该视图时都会由内部导航器调用。

相关内容

  • 没有找到相关文章

最新更新