Skip to Content
0
Apr 28, 2020 at 02:39 PM

Propagate Context Binding to SubView

36 Views

Hi there!

I have an AppView with several embedded subviews. For example:

<Shell>
  <App>
    <pages>
      <Page
        id="MainView" >
	<headerContent>
	</headerContent>
	<subHeader>
	<Toolbar>
	<Button id="btnRefresh" icon="sap-icon://refresh" press="onRefresh" type="Transparent"/>
	<ToolbarSpacer/>
	<Select id="sOrgs"													width="140px"													showSecondaryValues= "true"													items="{														path: 'StatusOrg',														templateShareable: false													}"													selectedKey="{Org}"													change=".onInputChange">													<core:ListItem key="{Objid}" text="{Short}" class="sapUiSmallMarginBegin sapUiSmallMarginTopBottom"/>												</Select>
<DatePicker
	id="DP2"
	dateValue="{Datum}" 
        valueFormat="dd.MM.yyyy"
	change=".onInputChange"
	width="30%"/>
	</Toolbar>
	</subHeader>
<content>
<IconTabBar
  expanded="true"
  id="idIConTabBar"
  select="handleIconTabBarSelect"
  class="sapUIResponsivePadding">
  <items>
    <IconTabFilter
      icon="sap-icon://home"
      design="Vertical"
      text="Start"
      key="Home" >
      <mvc:XMLView viewName="mc.view.Start"/>
    </IconTabFilter>

In AppView.controller there is some initial data loaded an bound to the AppView via

loadSuccess: function(oData) {
  this._oApplicationProperties.setProperty("/isDirty", false);
  var sContextPath = this._oHelper.getPathForStatus(oData.Datum,oData.Org);
  this._oView.bindElement(sContextPath);
  var oBindingContext = this._oView.getBindingContext();
  if (oBindingContext && oBindingContext.getPath() === sContextPath) {
    this._oView.getElementBinding().refresh();
  }
},

Data is displayed in AppView, but not in StartView.

How can I propagate the contextbinding to StartView?

thank you - Sven