SAPUI5-GANTT-图表-使用OData-Service(XML)可视化形状

2020-09-09 09:44发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 有人可以帮我将SA...

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

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


专家您好,

有人可以帮我将SAPUI5 GANTT-Chart与Table一起使用吗?

https://sapui5.hana.ondemand.com/explored.html#/entity/sap.gantt.GanttChartContainer/samples

该示例使用json文件填充左侧的树表。 有了这样的json,就可以轻松地将正确的甘特图上的形状可视化。

但是在我们的案例中,我们希望将OData-Service与ERP中的数据一起使用。

提取:

我已经构建了OData-Service以类似于以下示例填充树表: https://blogs.sap.com/2015/10/23/treetable-odata-binding /->我使用了annotaion-option来获取层次结构

这可以构建树表层次结构。 但是现在我的问题是,如何在甘特图的每个层次步骤上可视化不同的形状。

代码:

 [...]
 var oGanttChartContainer = this.getView()。byId(" GanttChartContainer");
 var oGanttChartWithTable = oGanttChartContainer.getGanttCharts()[0];
 var sPath = var sServiceUrl = http://## URL ##/ZGANTT_ODATA";
 var oModel = new sap.ui.model.odata.v2.ODataModel(sServiceUrl,{useBatch:true});
 [...]
 GanttChartWithTable.bindRows({
    路径:'/Auftraege1Set',
    参数:{
       扩展:" ChildNotes",
       numberOfExpandedLevels:2,
       导航:{
           'Auftraege1Set':'ChildNotes'
       }
 }});
 [...] 

有人对此有经验吗?

我如何正确"连接"形状以在GANTT图表中可视化它们?

我在这里没有找到这样的例子,也许有人可以帮助我完成这项工作吗?

谢谢。

致谢

比约恩

(32.5 kB)
7条回答
骆驼绵羊
2020-09-09 09:59

嗨,

有人找到解决方案如何将oData模型绑定到甘特图吗? 我已经完成了以下工作-表格层级工作正常,但形状看起来很奇怪:

首先,我使用实体" TimingAnno"构建一个oData服务。 为了构建层次结构,我在此示例中使用了注释,例如 https://blogs .sap.com/2015/10/23/treetable-odata-binding /。 如果我在浏览器中调用该服务,则结构如下所示:

在onInit函数中,我创建了一个GanttChartWithTable并将其绑定到oData模型。

 var oGantt = new sap.gantt.GanttChartContainer({ganttCharts:[new sap.gantt.GanttChartWithTable({
    列:[new sap.ui.table.Column({标签:" Id",模板:" Aufgabenid"}),
 new sap.ui.table.Column({标签:" Bezeichnung",模板:" Aufgabenbez"}),
 new sap.ui.table.Column({标签:"开始",模板:new sap.m.DatePicker({value:{path:" Berstartstring"})}),
 new sap.ui.table.Column({标签:" Ende",模板:new sap.m.DatePicker({value:{path:" Berendestring"})})
     ]})
 ]});

 var oGanttTable = oGantt.getGanttCharts()[0],
     sServiceUrl ="/img/sap/opu/odata/sap/Z_PPM_Projekt_SRV/",
     oModel =新的sap.ui.model.odata.v2.ODataModel(sServiceUrl);

 oGantt.setModel(oModel);
 oGanttTable.bindRows({
     路径:"/img/TimingAnnoSet"
 });

 oGanttTable.setShapeDataNames([" top"]);
 oGanttTable.setShapes(this.configShape());
 oGantt.placeAt(" content");
 

在configShape函数中,我执行了以下操作,但不确定在" shapeDataName"处写什么。 如果我什么都没写,我会得到形状,但外观很奇怪。

 configShape:函数(){
    var aShapes = [];
   
    Rectangle.extend(" sap.gantt.ppm.Rectangle",{
       getFill:function(oRawData){
          开关(oRawData.level){
             情况" 1":返回"#FAC364";
             默认值:返回"#5CBAE5";
           }
       }
     });
          
    var oTopShape = new sap.gantt.config.Shape({
 键:"顶部",
 shapeDataName:"",
 shapeClassName:" sap.gantt.ppm.Rectangle",
 等级:5
 shapeProperties:{
 时间:" {Berstartstring}",
 endTime:" {Berendestring}",
 高度:20,
 isDuration:是的,
 enableDnD:true
 }
    });

    aShapes = [oTopShape];
    返回aShapes;
 }
 

结果如下:

树表是正确的,但甘特图中的形状不适合树表相关行中的开始和结束日期。 有人可以帮忙吗? 我必须在shapeDataName上写哪个值?

最好的问候

凯特琳

一周热门 更多>