折线图未显示在对象页面中 - 可视化框架 - SAPUI5



我正在尝试在对象页面中使用vizframe制作线图。有人有一个例子如何做吗?我搜索了API和SDN,但仅找到带有布局元素而不是对象页面布局元素的样本。
因此,当我在简单的布局元素(<布局>元素)中对其进行测试时,线图工作正常。但是,当我使用对象页面布局元素尝试尝试时,图表不显示,并且控制台中没有错误。

非常感谢,

海莉n。

我在这里加入了两个不同的视图:

view.xml带有布局元素(有效)

<mvc:View xmlns:mvc="sap.ui.core.mvc" xmlns:core="sap.ui.core"
    xmlns:u="sap.uxap" xmlns:layout="sap.ui.layout" xmlns="sap.m" xmlns:f="sap.f"
    xmlns:t="sap.ui.table" xmlns:viz="sap.viz.ui5.controls" xmlns:viz.data="sap.viz.ui5.data"
    xmlns:viz.feeds="sap.viz.ui5.controls.common.feeds" xmlns:sample="test.controller.ChartsOverview"
    xmlns:goals="test.view.goals" controllerName="test.controller.ChartsOverview"
    height="100%">
    <Page title="SAPUI5 App">
        <layout:FixFlex id='chartFixFlex' minFlexSize="250">
            <layout:fixContent>
                <Panel id='settingsPanel' class="panelStyle" expandable="true"
                    expanded="true" headerText="Summary" width="auto">
                    <content>
                        <HBox class='settingsHBox'>
                            <VBox width="200px">
                                <Label text='Reports' design="Bold" class='settingsLabel'></Label>
                            </VBox>
                        </HBox>
                    </content>
                </Panel>
            </layout:fixContent>
            <layout:flexContent>
                <viz:Popover id="idPopOver"></viz:Popover>
                <viz:VizFrame id="idVizFrame" uiConfig="{applicationSet:'fiori'}"
                    height='50%' width="50%" vizType='timeseries_line'>
                    <viz:dataset>
                        <viz.data:FlattenedDataset data="{/milk}">
                            <viz.data:dimensions>
                                <viz.data:DimensionDefinition name="Date"
                                    value="{Date}" dataType="date" />
                            </viz.data:dimensions>
                            <viz.data:measures>
                                <viz.data:MeasureDefinition name="Revenue"
                                    value="{Revenue}" />
                            </viz.data:measures>
                        </viz.data:FlattenedDataset>
                    </viz:dataset>
                    <viz:feeds>
                        <viz.feeds:FeedItem uid="valueAxis" type="Measure"
                            values="Revenue" />
                        <viz.feeds:FeedItem uid="timeAxis" type="Dimension"
                            values="Date" />
                    </viz:feeds>
                </viz:VizFrame>
            </layout:flexContent>
        </layout:FixFlex>
    </Page>
</mvc:View>

view.xml带有对象页面布局元素(不起作用)

<mvc:View xmlns:mvc="sap.ui.core.mvc" xmlns:core="sap.ui.core"
    xmlns="sap.uxap" xmlns:layout="sap.ui.layout" xmlns:m="sap.m" xmlns:f="sap.f"
    xmlns:t="sap.ui.table" xmlns:viz="sap.viz.ui5.controls" xmlns:viz.data="sap.viz.ui5.data"
    xmlns:viz.feeds="sap.viz.ui5.controls.common.feeds" xmlns:sample="test.controller.ChartsOverview"
    xmlns:goals="test.view.goals" controllerName="test.controller.ChartsOverview"
    height="100%">
    <m:Page showHeader="true" title="{i18n>appTitle}" showFooter="true"
        showNavButton="false">
        <ObjectPageLayout id="ObjectPageLayout"
            enableLazyLoading="false" subSectionLayout="TitleOnLeft"
            showTitleInHeaderContent="true" showHeaderContent="true">
            <headerTitle>
                <ObjectPageHeader objectTitle="Quality Monitor"
                    objectSubtitle="Reports based on errors processed"
                    isObjectIconAlwaysVisible="false" isObjectTitleAlwaysVisible="false"
                    isObjectSubtitleAlwaysVisible="false" isActionAreaAlwaysVisible="true"
                    id="ObjectPageLayoutHeaderTitle">
                    <actions>
                    </actions>
                </ObjectPageHeader>
            </headerTitle>
            <sections>
                <ObjectPageSection title="Charts">
                    <subSections>
                        <ObjectPageSubSection>
                            <blocks>
                                <viz:Popover id="idPopOver"></viz:Popover>
                                <viz:VizFrame id="idVizFrame" uiConfig="{applicationSet:'fiori'}"
                                    height='50%' width="50%" vizType='timeseries_line'>
                                    <viz:dataset>
                                        <viz.data:FlattenedDataset data="{/milk}">
                                            <viz.data:dimensions>
                                                <viz.data:DimensionDefinition
                                                    name="Date" value="{Date}" dataType="date" />
                                            </viz.data:dimensions>
                                            <viz.data:measures>
                                                <viz.data:MeasureDefinition name="Revenue"
                                                    value="{Revenue}" />
                                            </viz.data:measures>
                                        </viz.data:FlattenedDataset>
                                    </viz:dataset>
                                    <viz:feeds>
                                        <viz.feeds:FeedItem uid="valueAxis" type="Measure"
                                            values="Revenue" />
                                        <viz.feeds:FeedItem uid="timeAxis" type="Dimension"
                                            values="Date" />
                                    </viz:feeds>
                                </viz:VizFrame>
                            </blocks>
                        </ObjectPageSubSection>
                    </subSections>
                </ObjectPageSection>
            </sections>
        </ObjectPageLayout>
    </m:Page>
</mvc:View>

正如人们在这个问题中指出的那样,一些控件使用适应高度适合其内容的自适应容器。如果该内容使用高度的" 100%"(最初是0),则内容有效地变为0px,并且这些控件最终将其Hight调整为内容的0px高度。出于相同的原因,如果您使用固定高度而不是百分比,则实际上可以工作。

对我个人而言,此问题仅出现,因为我盲目复制了 VizFrame的示例代码将其置于IconTabBar容器中,而没有意识到所使用的容器的差异。

解决我的问题的解决方案:从vizframe中删除 height="100%"属性,这不会强制高度,进而将允许根据其内容(标题,实际图表,传说,传说等等),而不是将VizFrame放入。

谁可以来这里寻求答案,用像素给vizframe的高度可以做到。

最新更新