Search code examples
sapui5

Why don't my smart controls display any data?


My SmartField in SmartForm doesn't render data in the UI. I don't understand why. SimpleForm with the same OData path in the input value works fine.

SmartForm in the view:

<smartform:SmartForm
  editable="true" 
  app:defaultCheckBoxDisplayBehaviour="OnOff"
  app:defaultDropDownDisplayBehaviour="idAndDescription"
  editTogglable="true"
  editToggled="handleEditToggled"
  layout="ResponsiveGridLayout">
  <smartform:Group>
    <smartform:GroupElement>
      <smartfield:SmartField id="zgutInputDescr" value="{ZGUT_CDS_UI5_CDS>Descr}">
        <smartfield:layoutData>
          <l:GridData span="XL2 L2 M2 S2"/>
        </smartfield:layoutData>
      </smartfield:SmartField>
    </smartform:GroupElement>
  </smartform:Group>
</smartform:SmartForm> 

Screenshot of my SAPUI5 SmartForm view


Solution

  • According to the documentation, Smart controls work with an unnamed model only. From the topic "Prerequisites":

    The smart controls require a default OData model, and named models are not supported.

    Hence, the issue was solved by deleting name of the model from the manifest.json and other places.

    Annotated manifest.json SAPUI5

    <!-- ... -->
      <smartfield:SmartField id="zgutInputDescr" value="{Descr}">
    <!-- ... -->