如何将逻辑语句引入 XML 视图或如何更改 Table 中某些项目的展示方式
How to either introduce an an logic statement into XML-views or how to change the way certain items of Table are being Showcased
我有以下Table,如您所见,一个Name可以有多个值,显示为一个块。我希望它看起来像这样:如果一个名称有多个值,则值应该内联显示。
查看部分:在 XML 中完成,可以访问模型数据。在这种情况下:
型号>名称和型号>值。模型中的数据以 Table.
中的方式表示
我不想更改数据在模型中的显示方式,但是,我希望视图部分看起来有所不同。
我尝试了什么:想要改变数据在模型中的显示方式,但意识到,模型中的数据被用于不同的情况,改变它可能会导致更多问题
如何将一些逻辑引入 XML 或另一种显示数据的方式?
如果您使用的是响应式 table (sap.m),则列有 "merge duplicates" 属性。这是一个例子:
我想你正在寻找 this (conditional binding)。
new Text({"visible" : "{= ${status} === 'critical' && ${amount} > 10000 }"});
这可用于简单检查(布尔值、数组长度、值大或小等)。
如果您的绑定需要更高级的逻辑,您应该使用格式化程序,请查看 here。
// In view
<ObjectStatus text="{path: 'invoice>Status', formatter: '.formatter.statusText' }"/>
// In formatter
statusText: function (sStatus) {
var resourceBundle = this.getView().getModel("i18n").getResourceBundle();
switch (sStatus) {
case "A":
return resourceBundle.getText("invoiceStatusA");
case "B":
return resourceBundle.getText("invoiceStatusB");
case "C":
return resourceBundle.getText("invoiceStatusC");
default:
return sStatus;
}
}
我有以下Table,
查看部分:在 XML 中完成,可以访问模型数据。在这种情况下: 型号>名称和型号>值。模型中的数据以 Table.
中的方式表示我不想更改数据在模型中的显示方式,但是,我希望视图部分看起来有所不同。
我尝试了什么:想要改变数据在模型中的显示方式,但意识到,模型中的数据被用于不同的情况,改变它可能会导致更多问题
如何将一些逻辑引入 XML 或另一种显示数据的方式?
如果您使用的是响应式 table (sap.m),则列有 "merge duplicates" 属性。这是一个例子:
我想你正在寻找 this (conditional binding)。
new Text({"visible" : "{= ${status} === 'critical' && ${amount} > 10000 }"});
这可用于简单检查(布尔值、数组长度、值大或小等)。
如果您的绑定需要更高级的逻辑,您应该使用格式化程序,请查看 here。
// In view
<ObjectStatus text="{path: 'invoice>Status', formatter: '.formatter.statusText' }"/>
// In formatter
statusText: function (sStatus) {
var resourceBundle = this.getView().getModel("i18n").getResourceBundle();
switch (sStatus) {
case "A":
return resourceBundle.getText("invoiceStatusA");
case "B":
return resourceBundle.getText("invoiceStatusB");
case "C":
return resourceBundle.getText("invoiceStatusC");
default:
return sStatus;
}
}