以下图所示,我有一个 SAP UI5 应用,使用 SAP UI5 SmartTable 控件,消费了一个施加了 sap 命名空间的 OData 服务。关于这个 SAP UI5 应用更多细节,请查看我这篇文章:如何以 mock server 的方式本地启动 SAP UI5 应用,使它不链接服务器端 OData 服务。服务器
本文详细分析该应用消费的 OData 服务设计。spa
这个 OData 服务的版本是 2.0,包含三个 EntityType 和三个 Annotations:设计
其中 Product entitytype,key 为属性 ProductId:server
命名空间为 com.sap.wt05:xml
而 Product entityType, 具备 LineItem 注解,注解里定义了四个 DataField,分别是:ProductId, Price,Name 和 Category,这四个属性,就是最后渲染而成的四个表项:rem
若是我在 metadata.xml 里给属性 productId 添加一个 sap:label 属性:get
最后的效果:it
这个表格自己也是响应式 (responsive)的,所以其控件大小能够随着屏幕尺寸的变化而变化,达到最佳显示效果:io
更多Jerry的原创文章,尽在:"汪子熙":class