gpt4 book ai didi

sapui5 - 如何将控件引用传递给 XMLView 中的格式化程序?

转载 作者:行者123 更新时间:2023-12-04 00:15:45 24 4
gpt4 key购买 nike

在 SAPUI5 的 JSView 中,将当前控件引用传递给格式化程序函数非常容易:

oTable.bindItems("/rows", new sap.m.ColumnListItem({
cells : [ new sap.m.Text().bindProperty("text", {
parts: [
{ path: "someInteger" }
],
formatter: function(iValue) {
var idText = this.getId(); //this references the current control
return iValue;
}
})]
}));

(“简单”部分当然是因为 this 在控件的内部格式化程序函数中被引用)

但是,对于 XMLViews,我还没有设法在格式化程序函数中获得对当前控件的引用:

<Table items="{/rows}">
<columns>
<Column>
<Text text="Some Integer" />
</Column>
</columns>
<items>
<ColumnListItem>
<cells>
<Text text="{ path : 'someInteger', formatter : '.formatCell' }" />
</cells>
</ColumnListItem>
</items>
</Table>

格式化程序:

formatCell : function (sValue) {
var a = this; //this references the controller
return sValue;
}

有人知道如何在 XMLViews 中实现这一点吗?

最佳答案

在单独的文件中定义格式化程序函数。然后 this 将成为其属性正在被格式化的控件。

我的/自己的/Formatter.js:

sap.ui.define(function () {
"use strict";
return {
formatCell: function (iValue) {
var idText = this.getId(); //this references the current control
return iValue;
}
};
});

查看:

<Table items="{/rows}">
<columns>
<Column>
<Text text="Some Integer" />
</Column>
</columns>
<items>
<ColumnListItem>
<cells>
<Text text="{ path : 'someInteger', formatter : 'my.own.Formatter.formatCell' }" />
</cells>
</ColumnListItem>
</items>
</Table>

关于sapui5 - 如何将控件引用传递给 XMLView 中的格式化程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32222703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com