我有一个基于主细节模板的应用程序。
我有一个细节方面的表:
<Table id="lineItemsList" width="auto" items="{DO_LINII}" updateFinished="onListUpdateFinished" noDataText="{i18n>detailLineItemTableNoDataText}" busyIndicatorDelay="{detailView>/lineItemTableDelay}" class="sapUiResponsiveMargin">
它显示&#34; DO_LINII&#34;的元素。 model(但详细视图的模型是&#34; HEADER&#34; model - 详细视图的标题)。
在我表格的最后一栏内,我有一个输入字段:
<Input id="__input0" value="{BETRG}" width="70%" description="PLN" type="Number"/>
它包含来自模型DO_LINII的值BETRG。
问题是,此输入字段的启用必须依赖于来自另一个模型的状态(&#34; HEADER&#34;模型)。当然,我的意思是主视图中所选项目的状态。
我尝试使用此表达式绑定格式化此字段:
<Input id="__input0" value="{BETRG}" editable="{= ${HEADER/>STATUS} === 'N' || ${/HEADER/STATUS} === 'O' ? true : false }" width="70%" description="PLN" type="Number"/>
但它没有用。
有谁知道我的代码出了什么问题?
提前致谢。
答案 0 :(得分:1)
如果你说&#34; DO_LINII&#34;是模型名称,然后绑定表达式的语法应如下所示:
<Table
id="lineItemsList"
width="auto"
items="{DO_LINII>/}"
updateFinished="onListUpdateFinished"
noDataText="{i18n>detailLineItemTableNoDataText}"
busyIndicatorDelay="{detailView>/lineItemTableDelay}" class="sapUiResponsiveMargin">
</Table>
这里表达式 {DO_LINII&gt; /} 告诉运行时应该采用名称为 DO_LINII 的模型,然后应该采用它的根对象(/)阵列。
对于状态表达式(如果您的模型名称为 HEADER ),您应该使用:
<Input
value="{BETRG}"
editable="{= ${HEADER>/STATUS} === 'N' || ${HEADER>/STATUS} === 'O' ? true : false }"
width="70%"
description="PLN"
type="Number"/>
再次看到&gt;登录绑定表达式用于从属性名称中分隔模型名称。因此, {HEADER&gt; / STATUS} 引用模型HEADER的属性STATUS。
答案 1 :(得分:0)
<Input id="__input0" value="{BETRG}" editable="{= ${HEADER>/STATUS} === 'N' || ${HEADER>/STATUS} === 'O' ? true : false }" width="70%" description="PLN" type="Number"/>
尝试更改为此。其他一切都应该保持不变。看起来您试图错误地访问模型的属性。应为{MODELNAME&gt; / PROPERTYNAME}