I am currently construting a tree table in XML view with XML Data Model.
Following is My XML:
<?xml version="1.0" encoding="utf-8"?> <Rowsets> <Rowset> <Row> <root> <id>root</id> <level>root</level> <children> <id>01</id> <level>01</level> <name>Case Packer</name> <children> <id>0101</id> <level>0101</level> <name>Unscheduled</name> </children> <children> <id>0102</id> <level>0102</level> <name>Lunch</name> </children> <children> <id>0103</id> <level>0103</level> <name>Scheduled Operations</name> <children> <id>010301</id> <level>010301</level> <name>Cleaning</name> </children> <children> <id>010302</id> <level>010302</level> <name>Major Changeover</name> </children> <children> <id>010303</id> <level>010303</level> <name>Paid Break</name> </children> <children> <id>010304</id> <level>010304</level> <name>Running Production</name> <children> <id>01030401</id> <level>01030401</level> <name>Lowrater</name> </children> <children> <id>01030402</id> <level>01030402</level> <name>Labeler 1</name> </children> <children> <id>01030403</id> <level>01030403</level> <name>Depalletizer</name> </children> <children> <id>01030404</id> <level>01030404</level> <name>Filler</name> </children> <children> <id>01030405</id> <level>01030405</level> <name>Bottle Coder</name> </children> </children> </children> </children> </root> </Row> </Rowset> </Rowsets>
Following is My XML View:
<?xml version="1.0" encoding="utf-8" ?> <core:View xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns:l="sap.ui.layout" xmlns="sap.m" xmlns:t="sap.ui.table" controllerName="treetabledemo.TreeTableDemo" xmlns:commons="sap.ui.commons" xmlns:common="sap.suite.ui.commons" xmlns:h="http://www.w3.org/1999/xhtml"> <Page showHeader="false" enableScrolling="false"> <l:Splitter orientation="Vertical"> <l:contentAreas> <Page title="TreeTableDemo"> <content> <!-- rows="{path:'/Rowsets/Rowset/Row/Root', parameters: {arrayNames:['/children']}}" --> <t:TreeTable id="idProductionTable" rows="{path:'/Rowsets/Rowset/Row/root', parameters: {arrayNames:['/children']}}"> <t:toolbar> <Toolbar> <Title text="Production"/> </Toolbar> </t:toolbar> <t:columns> <t:Column width="130px" demandPopin="true" id="idProdReportNode" showSortMenuEntry="false" minScreenWidth="Tablet"> <Label text="NAME" design="Bold" /> <t:template> <ObjectIdentifier text="{name}" /> </t:template> </t:Column> <t:Column width="130px" demandPopin="true" id="idProdReportProdCount" showSortMenuEntry="false" minScreenWidth="Tablet" hAlign="End"> <Label text="Level" design="Bold" /> <t:template> <ObjectIdentifier text="{level}" /> </t:template> </t:Column> </t:columns> </t:TreeTable> </content> </Page> </l:contentAreas> </l:Splitter> </Page> </core:View>
Following is my controller:
sap.ui.controller("treetabledemo.TreeTableDemo", { onInit: function() { var sPath = "resources/data/treedata.xml"; var oModel = new sap.ui.model.xml.XMLModel(sPath); var that = this; var oTable = this.byId("idProductionTable"); oTable.setModel(oModel); }, });
But it gives me following error:
Uncaught Error: Path path:'/Rowsets/Rowset/Row/root', parameters: {arrayNames:['/children']} must start with a / at d.a.getContext (sap-ui-core.js:1549) at f.c.applyFilter (sap-ui-core.js:1381) at f.c.checkUpdate (sap-ui-core.js:1386) at f.B.initialize (sap-ui-core.js:1313) at f.h._bindAggregation (sap-ui-core.js:511) at f.z._bindAggregation (Table.js:6) at f.h.updateBindings (sap-ui-core.js:517) at f.h.setModel (sap-ui-core.js:528) at constructor.onInit (TreeTableDemo.controller.js:15) at f.a.fireEvent (sap-ui-core.js:449)
I tried various permutations and combinations but it does not seem to work.
What am I doing wrong here?