2016-03-22 3 views
-1

Ich habe in meiner Controller-Funktion onRoutePatternMatched eine Tabelle erstellt. Jetzt möchte ich diese Tabelle zur Ansicht bringen. Dies sollte gemacht werden mit oTable.placeAt("sample1");Tabelle in XML-Ansicht einfügen

Was ist der richtige Code, um es an einer bestimmten Stelle in meiner XML-Ansicht einfügen?

Home.view.xml

<?xml version="1.0" encoding="UTF-8" ?> 
<mvc:View controllerName="ztest.controller.VarConf" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" 
    xmlns:html="http://www.w3.org/1999/xhtml"> 
    <Page> 
       <content id="sample1"></content> 
     <content id="sample2"> 
      <Label text="{varConfDet>/chassisnr}" /> 

     </content> 
    </Page> 
</mvc:View> 

Fehler: sap-ui-core.js:152 Uncaught Error: DOM element with ID 'sample1' not found in page, but application tries to insert content.

+0

Warum definieren Sie nicht die Tabelle in der Ansicht? – matbtt

Antwort

0
  1. eine ID auf der Seite angelegt und nicht auf seine Content-Aggregation (e): <Page id="myPge">
  2. in Controller-Aufruf this.getView().byId("myPage").addContent(oTable);

Da Inhalt die Standardaggregation von sap.m.Page ist, können Sie auch nur this.getView().byId("myPage").add(oTable); aufrufen. Beachten Sie auch, dass Sie zuvor hinzugefügten Inhalt entfernen können ... Natürlich könnten Sie auch verschiedene Panels usw. mit verschiedenen IDs verwenden und die Tabelle irgendwo dazwischen platzieren ...