SmartTable 控件根据 OData 元数据和指定的配置创建一个表。 必须指定 entitySet 属性才能使用该控件。 此属性用于从 OData 元数据中获取字段,从中生成列; 它还可以用于获取实际的表数据。
基于 tableType 属性,此控件运行时将被渲染成标准、分析、树或响应表等实际控件。
SmartTable 控件支持相关实体集引用的货币和单位自定义。SAP UI5 框架会自动请求这些相关的代码列表,然后用于格式化货币和单位单元格模板。
SmartTable 控件提供了一个名为 preserveDecimals 的全局 customData 设置,可用于配置 preserveDecimals 格式选项。
customData 的默认值为 preserveDecimals=true。 然后,此 customData 用于格式化 Edm.Decimal 类型以及货币和单位单元格模板。
如果小数位数与代码列表返回的值不同,则无法保证货币和单位值的小数点对齐。
包含空白字符的字符串类型的单元格数据被替换为 unicode 字符,以在 UI 上可视化空白。 这是默认启用的。
有朋友咨询:
如何为自定义列启用个性化,它们与常规列有何不同,尤其是在与个性化设置或电子表格导出一起使用时?
You can specify custom data for the personalization of the columns in your table as shown in the examples.
可以通过指定 custom data
的方式,来实现 table column 的定制化。
<table:Column id="Ledger" minScreenWidth="Tablet" demandPopin="true">
<table:customData>
<core:CustomData key="p13nData"
value='\{"columnKey": "Ledger", "leadingProperty":"Ledger",
"additionalProperty":"LedgerName", "sortProperty": "Ledger",
"filterProperty": "Ledger", "type":"numeric"}' />
</table:customData>
<Label text="Ledger" />
<table:template>
<Text text="{Ledger}" />
</table:template>
</table:Column>
为了使用 SAPUI5 shortcut notation
, 将下列命名空间片段添加到 XML view 里:
xmlns:customData="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
使用 shortcut notation
之后的版本:
<table:Column id="CompanyCode" minScreenWidth="Tablet" demandPopin="true"
customData:p13nData='\{"columnKey": "CompanyCode", "leadingProperty":"CompanyCode", "additionalProperty":"CompanyName","sortProperty": "CompanyCode", "filterProperty": "CompanyCode", "type":"numeric", "maxLength":"4"}'>
<Label text="Company Code" />
<table:template>
<Text text="{CompanyCode}" />
</table:template>
</table:Column>
在 p13nData object
里可以指定下列属性: