InteractiveBarChart:如何绑定模型

时间:2018-04-26 13:57:58

标签: sapui5

我找不到任何关于在XML视图中将JSON模型绑定到InteractiveBarChart的示例。

我的观点如下:

<core:View
  xmlns:core="sap.ui.core"
  xmlns:m="sap.m"
  xmlns="sap.f"
  xmlns:f="sap.f"
  xmlns:smartFilterBar="sap.ui.comp.smartfilterbar"
  xmlns:mc="sap.suite.ui.microchart"
  xmlns:layout="sap.ui.layout"
  xmlns:customData="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
  controllerName="webui.controller.Logger.HomeLogger"
  height="100%"
>
  <DynamicPage id="dynamicPage"
    navButtonPress="onNavBack"
    showNavButton="true"
  >
    <title>
      <f:DynamicPageTitle>
        <f:heading>
          <m:Title text="Methode Logger" />
        </f:heading>
        <f:expandedContent>
          <m:Text text="System analysis" />
        </f:expandedContent>
        <f:actions>
          <m:ToolbarSpacer />
          <m:Button
            icon="sap-icon://action-settings"
            binding="{securitySystem>/}"
            press="onSettingsPress"
            visible="{securitySystem>enabledApplications/enableSettingsAdmin}"
          />
        </f:actions>
      </f:DynamicPageTitle>
    </title>
    <header>
      <DynamicPageHeader>
        <content>
          <layout:Grid defaultSpan="XL6 L6 M6 S12">
            <m:FlexBox
              width="20rem"
              height="10rem"
              alignItems="Center"
              class="sapUiSmallMargin"
            >
              <m:items>
                <mc:InteractiveBarChart
                  labelWidth="25%"
                  selectionChanged="chartSelectionChanged"
                  press="press"
                  bindBars="{/}"
                >
                  <mc:bars>
                    <mc:InteractiveBarChartBar
                      label="{key}"
                      value="{value}"
                    />
                  </mc:bars>
                </mc:InteractiveBarChart>
              </m:items>
            </m:FlexBox>
          </layout:Grid>
        </content>
      </DynamicPageHeader>
    </header>
  </DynamicPage>
</core:View>

我要将InteractiveBarChart绑定到我的模型,即控制器中的数组。通过SAP参考,我将使用bindBars方法,但我无法使其工作。

1 个答案:

答案 0 :(得分:0)

UI5中的任何控件都具有data binding属性聚合绑定的相同概念。

如果控制旨在显示多个事物(即表格或列表),则它将具有所谓的aggregation

InteractiveBarChart 控件中,有一个聚合“bars”。

任何控件都可以通过统一binding syntax绑定到模型。

  • 对于程序化绑定,可以使用以下模板:“bind {NAME OF AGGREGATION}”。所以在这种情况下,它将是“ bindBars ”方法,它采用与任何聚合绑定相同的参数列表;
  • 对于XML中的声明绑定,您必须做两件事:
    1. 告诉控件有关数据源的信息。在您的情况下,您应该将控件的属性设置为聚合名称“ bars ”到绑定字符串“ {/} ”,以防您将原始数组存储在默认模型的根属性(即没有名称的模型)
    2. 定义一个模板,该模板将用作创建条形列表的基础(您已经正确完成)