SAPUI5 V1,38,39上的VizFrame,如何更新数据模型

2020-08-23 15:15发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我的视图中有一个普...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家您好,

我的视图中有一个普通的vizframe,像这样:

 
 
 
 
 
 
             
 
 
 
 

并在控制器中看起来像

 _constants:{
 sampleName:" some.namespace",
 vizFrame:{
 id:" chartContainerVizFrame",
 数据集:{
 尺寸:{
 名称:" sStatus",
 值:" {sStatus}"
 },
 措施:{
 组:1
 名称:" iOrders",
 值:" {iOrders}"
 },
 数据:{
 路径:""
 }
 },
 modulePath:"/img/model/Data.json",
 类型:"列",
 属性:{
 plotArea:{
 showGap:true
 }
 },
 feedItems:[{
 'uid':" primaryValues",
 'type':"度量",
 '值':[" iOrders"]
 },{
 'uid':" axisLabels",
 'type':"尺寸",
 'values':[" sStatus"]
 }]
 }
 },
 onInit:function(){
 var oVizFrame = this.getView()。byId(this._constants.vizFrame.id);
 this.getView()。setModel(new JSONModel({
             nameList:[" Test1"," Test2"," Test3"],
             实践化日期:新的Date()
             }), "前端");
 this._updateVizFrame(oVizFrame," Test1");
 },
 _updateVizFrame:函数(vizFrame,CompanyName){
 this._constants.vizFrame.dataset.data.path ="/img/Companies/" + CompanyName;
 var oVizFrame = this._constants.vizFrame;
 var oVizFramePath = jQuery.sap.getModulePath(this._constants.sampleName,oVizFrame.modulePath);
 var oModel = new JSONModel(oVizFramePath);
 var oDataset = new FlattenedDataset(oVizFrame.dataset);
 vizFrame.setVizProperties(oVizFrame.properties);
 vizFrame.setDataset(oDataset);
 vizFrame.setModel(oModel);
 this._setFeedItems(vizFrame,oVizFrame.feedItems);
 vizFrame.setVizType(oVizFrame.type);
 },
 _setFeedItems:function(vizFrame,feedItems){
 如果(vizFrame.getFeeds()。length> 0){
 vizFrame.removeAllFeeds();
 }
 for(var i = 0; i 
 

oninit,当我想更新它,并使用相同的函数调用onCompanyChange时,图形就可以正确显示,但是只需更改名称即可(公司名称更改名称来自包含[" Test1"," Test2","的组合框 Test3"]),图表在控制台中保持空白,没有错误。
有人知道如何解决吗?

2条回答
宇峰Kouji
2020-08-23 15:21

西尔万·米歇尔(Sylvain Michel)以类似的方式进行尝试,在数据绑定部分使用相同的属性名(实体集名称或导航名称)。 然后动态更改模型并将其绑定到视图并进行检查。

-Mahesh

一周热门 更多>