0
我目前正在用XML數據模型構建XML視圖中的樹表。UI5 - 使用XML模型呈現的TreeTable問題
以下是我的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>
以下是我的XML查看:
<?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" class="donuts">
<l:Splitter orientation="Vertical">
<l:contentAreas>
<Page title="TreeTableDemo">
<content>
<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" class="TableLabelColor" />
<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" class="TableLabelColor" />
<t:template>
<ObjectIdentifier text="{level}" />
</t:template>
</t:Column>
</t:columns>
</t:TreeTable>
</content>
</Page>
</l:contentAreas>
</l:Splitter>
</Page>
</core:View>
以下是我的控制器:
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);
},
});
但它給了我以下錯誤:
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)
我嘗試了各種排列和組合,但似乎並不奏效。
我在這裏做錯了什麼?
輝煌回答!感謝您的建議! –
不客氣:) –