首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SAPUI5 -在不带注释的oData中更改smarttable的列名和属性

SAPUI5 -在不带注释的oData中更改smarttable的列名和属性
EN

Stack Overflow用户
提问于 2018-04-17 02:18:29
回答 1查看 2.3K关注 0票数 0

我正在开发一个使用智能表组件SAPUI5应用程序。但是提供的oData不会在元数据文件中发送任何注释。我开始从oData中选择以下字段: PriorityName、OrderTypeType、OrderTypeName、Id、DateOpen、HourOpen、BrandName、EquipmentId、EquipmentNumber、SymptomName。但我希望在表列标题和p13ndialog中分别显示优先级名称、订单类型、订单类型名称、Id、日期开放、小时开放、品牌名称、设备Id、设备编号和症状名称。

我知道这在EntityType下的属性名标签中的sap:label属性中是默认更改的。但根据oData开发人员的说法,他们不能将其发送给我(他使用的是JPA和oLingo)。

上面的代码是我的smarttable和metadada中使用的实体。

代码语言:javascript
复制
            <smartTable:SmartTable entitySet="CustomerOrders" id="tbOrders" tableType="Table" useExportToExcel="true" beforeExport="onBeforeExport"
            header="Ordens de Manutenção" showRowCount="true" enableAutoBinding="true" beforeRebindTable="onBeforeRebindTable"
            initiallyVisibleFields="PriorityName,OrderTypeType,OrderTypeName,Id,DateOpen,HourOpen,BrandName,EquipmentId,EquipmentNumber,SymptomName"
            class="sapUiResponsiveContentPadding">
            <smartTable:customToolbar>
                <OverflowToolbar design="Transparent">
                    <ToolbarSpacer/>
                    <OverflowToolbarButton icon="sap-icon://sort" text="Sort" press="onSort"/>
                    <OverflowToolbarButton icon="sap-icon://filter" text="Filter" press="onFilter"/>
                </OverflowToolbar>
            </smartTable:customToolbar>
            <table:Table id="innerUi5Table" growing="true" selectionMode="None" visibleRowCountMode="Auto">
                <table:rowSettingsTemplate>
                    <table:RowSettings highlight="{ path: 'PriorityName', formatter: '.formatter.OrderStatusFormatter' }"/>
                </table:rowSettingsTemplate>
            </table:Table>
        </smartTable:SmartTable>

元数据

代码语言:javascript
复制
    <EntityType Name="CustomerOrder">
<Key>
<PropertyRef Name="Id"/>
</Key>
<Property Name="BrandName" Type="Edm.String" Nullable="true" MaxLength="150"/>
<Property Name="City" Type="Edm.String" Nullable="true" MaxLength="45"/>
<Property Name="ContactFirstname" Type="Edm.String" Nullable="true" MaxLength="45"/>
<Property Name="ContactLastname" Type="Edm.String" Nullable="true" MaxLength="45"/>
<Property Name="Country" Type="Edm.String" Nullable="true" MaxLength="2"/>
<Property Name="CustomerId" Type="Edm.Int64" Nullable="true"/>
<Property Name="DateOpen" Type="Edm.DateTime" Nullable="true"/>
<Property Name="EquipmentId" Type="Edm.String" Nullable="true" MaxLength="10"/>
<Property Name="EquipmentNumber" Type="Edm.String" Nullable="true" MaxLength="12"/>
<Property Name="EquipmentType" Type="Edm.String" Nullable="true" MaxLength="40"/>
<Property Name="FantasyName" Type="Edm.String" Nullable="true" MaxLength="45"/>
<Property Name="HourOpen" Type="Edm.Time" Nullable="true"/>
<Property Name="Id" Type="Edm.Int64" Nullable="false"/>
<Property Name="Latitude" Type="Edm.String" Nullable="true" MaxLength="12"/>
<Property Name="Longitude" Type="Edm.String" Nullable="true" MaxLength="12"/>
<Property Name="ManufacturerSerialNumber" Type="Edm.String" Nullable="true" MaxLength="255"/>
<Property Name="Material" Type="Edm.String" Nullable="true" MaxLength="8"/>
<Property Name="Neighborhood" Type="Edm.String" Nullable="true" MaxLength="45"/>
<Property Name="Note" Type="Edm.String" Nullable="true" MaxLength="10"/>
<Property Name="Obs" Type="Edm.String" Nullable="true" MaxLength="150"/>
<Property Name="OrderTypeId" Type="Edm.String" Nullable="true" MaxLength="4"/>
<Property Name="OrderTypeName" Type="Edm.String" Nullable="true" MaxLength="45"/>
<Property Name="OrderTypeType" Type="Edm.String" Nullable="true" MaxLength="45"/>
<Property Name="OsImbera" Type="Edm.String" Nullable="true" MaxLength="8"/>
<Property Name="Phone" Type="Edm.String" Nullable="true" MaxLength="11"/>
<Property Name="Plant" Type="Edm.String" Nullable="true" MaxLength="4"/>
<Property Name="PriorityId" Type="Edm.Int32" Nullable="true"/>
<Property Name="PriorityName" Type="Edm.String" Nullable="true" MaxLength="15"/>
<Property Name="State" Type="Edm.String" Nullable="true" MaxLength="2"/>
<Property Name="Status" Type="Edm.String" Nullable="true" MaxLength="1"/>
<Property Name="Street" Type="Edm.String" Nullable="true" MaxLength="150"/>
<Property Name="SymptomId" Type="Edm.Int64" Nullable="true"/>
<Property Name="SymptomName" Type="Edm.String" Nullable="true" MaxLength="45"/>
<Property Name="SymptomObjTecnico" Type="Edm.String" Nullable="true" MaxLength="10"/>
<Property Name="SymptomSAP" Type="Edm.String" Nullable="true" MaxLength="8"/>
<Property Name="TechnicalObjName" Type="Edm.String" Nullable="true" MaxLength="255"/>
<Property Name="WarrantyObs" Type="Edm.String" Nullable="true" MaxLength="45"/>
<Property Name="WorkCenter" Type="Edm.String" Nullable="true" MaxLength="8"/>
<Property Name="Zipcode" Type="Edm.String" Nullable="true" MaxLength="9"/>
</EntityType>
EN

回答 1

Stack Overflow用户

发布于 2018-04-17 22:00:24

手动重新定义XML中的行/列,并将标签绑定到i18n模型,在该模型中可以定义所有需要的标签。

它的缺点是--你不能影响那些可能通过个性化添加的列。可能的解决方法-重新定义所有列。但在这种情况下,一旦后端发生变化,您必须相应地调整UI。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49863844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档