sapui5 - SAPUI5 没有为智能表中的自定义列使用正确的类型
问题描述
我有一个 SAPUI5 智能表,我使用以下方式定义类型的自定义列date
。
在我的 oData 我有两列是这样的:
<Property Name="Datum" Type="Edm.DateTime" sap:creatable="true" sap:updatable="true" sap:deletable="true" sap:display-format="Date" sap:label="Datum"/>
<Property Name="AngebotAngefragt" Type="Edm.DateTime" sap:creatable="true" sap:updatable="true" sap:deletable="true" sap:display-format="Date" sap:label="AngebotAngefragt"/>
我将其中一个定义为自定义列,如下所示:
<Column visible="true">
<customData>
<core:CustomData key="p13nData" value='{"columnKey": "Datum", "leadingProperty": "Datum", "sortProperty": "Datum", "filterProperty": "Datum", "columnIndex":"3", "type": "date"}'/>
</customData>
<Text text="{/#Meldungen/Datum/@sap:label}"/>
</Column>
在旧版本的 UI5 中,使用相同的代码片段,p13n
当我们将类型设置为时,它会在对话框中显示自定义项目的日历date
,但现在我使用版本1.80
,它会显示一个输入框。
以下是该Datum
列显示的内容:
这是它为AngebotAngefragt
我未定义为自定义列的列显示的内容:
解决方案
这可以通过以下语法解决:
<Column visible="true">
<customData>
<core:CustomData key="p13nData" value='\{"columnKey": "Datum", "leadingProperty": "Datum", "sortProperty": "Datum", "filterProperty": "Datum", "columnIndex":"3", "type": "date"}'/>
</customData>
<Text text="{/#Meldungen/Datum/@sap:label}"/>
</Column>
这里真正的诀窍是属性值的前导反斜杠。
如果在 Columns customData 定义(在 js 级别)的开头没有给出反斜杠,将会添加一个属性类型,但值未定义。应该与 SAPUI5 的内部处理有关(并且字符串没有被转义),但是这没有明确记录。
代码示例: https ://sapui5.netweaver.ondemand.com/#/topic/bed8274140d04fc0b9bcb2db42d8bac2 (FAQ -> 1. 示例片段)
推荐阅读
- python - 跨两个应用程序的相同 Flask 登录会话
- kubernetes - 在 yaml 文件中将连接字符串作为环境变量传递
- python-3.x - Python Salesforce API 身份验证
- css - 如何将多行列表中的最后一项居中,保持每行的高度和相同的间隙?
- java - 如何从头开始创建对象的 LinkedList(不使用 java 的 API)
- oracle - Oracle 动态调用游标
- tableau-api - 在仪表板上使用不相关的表创建从到工作表的总计
- docker - Gitlab - 使用“docker in docker”服务的作业导致“无法连接到 Docker 守护程序”
- java - Payara/Glassfish JAX-RS 多部分
- r - 如何从 input$.. 或 output$.. 获取路径并将其用于 list.files 然后复制/剪切文件