SAP UI5 SmartTable column 的個性化設置使用概述

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 裏可以指定下列屬性:

  • columnKey:用於保存、檢索或應用列個性化的唯一鍵。
  • leadingProperty:當列可見時,從後端系統檢索此處指定的 OData 屬性的數據。 必須使用 OData 模型屬性名稱。
  • additionalProperty:如果列可見,則必須請求屬性。 必須使用 OData 模型屬性名稱。 可以在此處將多個屬性名稱指定爲逗號分隔值 (CSV)。
  • sortProperty:根據指定的列對錶進行排序。 必須使用 OData 模型屬性名稱。 此屬性類似於網格表的 sap.ui.table.Column 的 sortProperty,只有在後者不支持此功能時才必須使用。
  • filterProperty:使用已定義的條件過濾表。 必須使用 OData 模型屬性名稱。 此屬性類似於網格表的 sap.ui.table.Column 的 filterProperty,只有在後者不支持此功能時才必須使用。
  • isGroupable:自動在“視圖設置”對話框的“組”面板中顯示一個字段; 否則,只有在表(行)綁定後,字段纔可能變得可見。 只有 AnalyticalTable 類型需要此屬性。如果字段可排序、可篩選和維度,則 SmartTable 會自動將此屬性設置爲 true。
  • type:確定控件的類型; 它的值可以是日期、時間、布爾值、數字、字符串日期、字符串或未定義。 控件將根據類型進行調整。 stringdate 用於導出帶有 IsCalendarDate 註釋的字段。
  • maxLength:用於限制輸入字段中的條目數的數值
  • precision:精度的數值
  • scale:比例的數值
  • nullable:定義一個字段是否可以沒有值(然後與空值過濾相關)。 控件的使用者可以使用字符串值 false 來指示該字段不可爲空。 默認值可以爲空。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章