sapui5 - InteractiveBarChart:如何绑定模型
问题描述
我在 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
方法,但我无法使其工作。
解决方案
UI5 中的任何控件都具有相同的数据绑定概念:属性和聚合绑定。
如果控件旨在显示多个事物(即表格或列表),它将具有所谓的聚合。
在InteractiveBarChart控件中有一个聚合“ bars ”。
任何控件都可以通过统一的绑定语法与模型绑定。
- 对于编程绑定是以下模板:“bind{NAME OF AGGREGATION}”。所以在这种情况下,它将是“ bindBars ”方法,它采用与任何聚合绑定相同的参数列表;
- 对于 XML 中的声明绑定,您必须做两件事:
- 告诉控件有关数据源的信息。在您的情况下,您应该将名为“ bars ”的控件属性设置为绑定字符串“ {/} ”,以防您将原始数组存储在默认模型的根属性中(即没有名称的模型)
- 定义一个模板,它将用作创建条形列表的基础(您已经正确完成了)
推荐阅读
- c# - 重定向到特定选项卡上的网页
- php - 同时勾选复选框
- android - RecyclerView 未使用 [WIFI DIRECT] 发现进行更新
- angular - 如何在编辑按钮单击时分别打开 datePicker 并在每一行上设置日期
- c# - 无法访问 JWT 令牌 .NET Core 中的角色
- android - if/else 的时间间隔 - 如何?
- .net - 使用模板时文本框文本突出显示/光标不可见
- r - 在r中循环数据框中的列索引
- symfony - 如何在数据表中获取对象的数据?
- python - 找不到满足 selenium 要求的版本;在 Python3.6.5 上安装 Selenium 时找不到与 selenium 匹配的发行版