我正在使用带有SAP Hana DB的sapUI5来创建自定义仪表板。我有一个sap.m.TileContainer,它包含许多sap.m.CustomTiles,它们被" tiles"绑定。从JSON结构聚合TileContainer。
现在,我需要通过以下代码在我的控制器的init函数中添加另一个CustomTile(具有不同的布局和内容)。它在Firefox中运行得非常好,但在Chrome中,Tile根本没有显示,我也无法在HTML元素中找到它:
var oTileContainer = this.getView().byId("tileContainer");
var quantTile = new sap.m.CustomTile("quantTile",{
content: [
new sap.m.VBox({
items: [
new sap.m.Title("quantTileTitle", {
width : "100%",
text : "Quantitative KPIs",
titleStyle : "H4",
textAlign: "Begin",
}).addStyleClass('sapUiTinyMarginBegin sapUiTinyMarginTop'),
new sap.ui.commons.HorizontalDivider({
height : "Medium"
}),
new sap.m.RatingIndicator("quantTotalRating",{
enabled : false,
maxValue : 5,
value : 2.5
}).addStyleClass('sapUiMediumMarginBegin sapUiMediumMarginTop'),
new sap.m.Label({
text : "Gesamtbewertung",
width : "100%",
textAlign: "Center"
}).addStyleClass('')
]
})
],
press: this.handleTilePress
}).addStyleClass('sapMTile quantTile');
oTileContainer.insertTile(quantTile,0);
为了完整起见,这是我的XML视图的相关部分:
<TileContainer
id="tileContainer"
tileDelete="handleTileDelete"
tiles="{/TileCollection}">
<CustomTile
class="sapMTile"
press="handleTilePress">
<content>
<l:FixFlex vertical="true">
<l:fixContent>
<VBox>
<HBox alignItems="Center">
<c:Icon
src="sap-icon://{icon}"
size="1rem"
color="#000000"
class="sapUiTinyMarginBeginEnd sapUiTinyMarginTop"/>
<VBox class="sapUiTinyMarginTop">
<Title text="{title}" titleStyle="H4"/>
</VBox>
</HBox>
<u:HorizontalDivider height="Medium" />
</VBox>
</l:fixContent>
<l:flexContent>
<VBox>
<Label text="Letzte Woche" class="sapUiTinyMargin" width="100%" textAlign="Begin"/>
<HBox
alignItems="Center"
justifyContent="Center">
<Label text="{positive_week}" class="sapUiTinyMargin sapUiMediumMarginEnd KPIpositive"/>
<Label text="{negative_week}" class="sapUiTinyMargin KPInegative"/>
</HBox>
<Label text="Letzter Monat" class="sapUiTinyMargin" width="100%" textAlign="Begin"/>
<HBox
alignItems="Center"
justifyContent="Center">
<Label text="{positive_month}" class="sapUiTinyMargin sapUiMediumMarginEnd KPIpositive"/>
<Label text="{negative_month}" class="sapUiTinyMargin KPInegative"/>
</HBox>
</VBox>
</l:flexContent>
</l:FixFlex>
</content>
</CustomTile>
</TileContainer>
有没有人知道为什么它可能无法在Chrome中显示/呈现,但在Firefox中?是否有任何我可以调用的程序强制重新渲染或类似的东西?
由于
答案 0 :(得分:0)
也许Chrome正在将绑定与固定磁贴混合在一起。
您可以使用hana服务和固定磁贴中的数据创建本地JSON模型,然后将您的磁贴容器与本地服务绑定。