以下圖所示,我有一個 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