我的REST服务向我发送了大量数据。每个属性都包含value
和help
- 属性,其中包含字段属性的长描述。
好的,我在JSONModel中有数据(包含值和帮助的属性列表),我使用数据绑定 XML https://openui5.hana.ondemand.com/#docs/guide/91f0f3cd6f4d1014b6dd926db0e91070.html在表单中映射数据value
和表格。
现在我想以某种方式显示每个属性的help
消息。
当用户双击message dialog或表格中列标题的Label时,我的想法是显示Text
Label和Text都有attachBrowserEvent方法但我不知道如何使用该函数来附加事件仅在XML视图中打字 < / p>
我想要这样的事情:
在XML-View中:
<Label text="Language"
attachBrowserEvent:"function("click",showMessageHelp({model>/language/help}))">
<Input value="{model>/language/value}"/>
在控制器中:
showMessageHelp:function(sMessage){
//show message dialog with sMessage
...........
}
答案 0 :(得分:4)
您可以使用 onAfterRendering 方法实现此目的。 在XML中使用CustomData:
library(microbenchmark)
microbenchmark(c(sapply(y, function(n) seq.int(n,n+3) )), unlist(lapply(y, function(n) seq.int(n,n+3) )), outer(y, 0:3, "+"), rep(0:3, each = length(y)) + y )
Unit: microseconds
expr min lq mean median uq max neval cld
c(sapply(y, function(n) seq.int(n, n + 3))) 25.992 27.9270 34.74009 28.8890 30.1080 146.436 100 c
unlist(lapply(y, function(n) seq.int(n, n + 3))) 7.506 8.7910 9.64311 9.4120 9.8325 28.643 100 b
outer(y, 0:3, "+") 7.912 8.9105 11.34952 9.6955 10.6820 71.677 100 b
rep(0:3, each = length(y)) + y 1.145 1.4770 1.72713 1.6285 1.8680 5.767 100 a
然后在控制器中使用此customData:
<Label id="label" text="Language">
<customData>
<core:CustomData key="type" value="{/language/help}" />
</customData>
</Label>
PS:我不确定这对你来说是否可行。
这是我目前能想到的最好的。
答案 1 :(得分:0)
可以为每个标签附加一个浏览器事件,但是如果不重复每个标签ID,我找不到办法。
我找到了另一种解决方案:我的数据显示在表格和表格中。 我在每个表单的右侧添加了一对标签: 值一个带有帮助信息的Text元素:
<Label text="Field duck"/>
<Text text="{model>/elements/mainFields1/duck/value}"/>
<Text text="{model>/elements/mainFields1/duck/ATTR/help/description}" visible="{ui>/bShowHelp}" />
在表格中,我将每个列标题分为两组:标题和页脚;在页脚中我放置了帮助信息:
<Column>
<header>
<Text text="Name"/>
</header>
<footer>
<Text text="{model>/elements/airports/templateNewRow/name/ATTR/help/description}" visible="{ui>/bShowHelp}"/>
</footer>
</Column>
我更改显示并隐藏所有帮助信息的bShowHelp
的值