使用XML-Views时如何在SAPUI5中实现DataBinding?

时间:2014-05-14 18:14:47

标签: javascript xml sapui5

在使用JS-Views时,SAPUI5中的

将模型或数据绑定分配给表或其他东西非常容易。 但是,在使用XML-Views时我该怎么做呢?

<?xml version="1.0" encoding="UTF-8" ?>
<core:View
    xmlns:core="sap.ui.core"
    xmlns="sap.ui.commons"
    xmlns:table="sap.ui.table"
    xmlns:html="http://www.w3.org/1999/xhtml"
    controllerName="view.Main">
    <Panel text="Hello World from an XML view">
        <Button text="Button" press="doSomething"></Button>
        <table:Table width="100%" visibleRowCount="5" selectionMode="Single" editable="false">
            <table:title><Label text="Wochentage"></Label></table:title>
            <table:Column>
                <Label text="ID" />
                <table:template><TextField value="{id}"></TextField></table:template>
            </table:Column>

        </table:Table>
    </Panel>
</core:View>

我不想给表一个修复id属性并通过调用

来实现它
sap.ui.getCore().getElementById("idProductsTable").setModel(

            demoJSONModel);
控制器中的

...... :(

1 个答案:

答案 0 :(得分:6)

您通常会在控件中的控件(直接表或其父控件之一)上设置模型。因此,我将假设您对初始语句的后半部分感到疑惑:“在使用XML-Views时将数据绑定分配给表格。”

您所要做的就是将聚合表达为XML属性。所以如果你的demoJSONModel看起来像这样:

var demoJSONModel = new sap.ui.model.json.JSONModel({
  data : [
    { id : 42 },
    { id : 1.618 },
    { id : 3.14 }
  ]
});

然后你可以设置表的'rows'聚合的绑定,如下所示:

<table:Table
  width="100%"
  visibleRowCount="5"
  selectionMode="Single"
  editable="false"
  rows="{/data}">

我把an example in JSBin放在一起显示了这一点。