【问题标题】:SAP UI5 Gantt Chart color based on conditionSAP UI5甘特图颜色基于条件
【发布时间】:2017-12-02 04:27:45
【问题描述】:

如何根据绑定的 json 模型中的属性值设置甘特图形状的填充颜色?

这是我用来配置 sap.gantt.config.Shape 的代码:-

var oRectangle = new sap.gantt.config.Shape({
    key: "Rectangle",
    shapeDataName: "schedule",
    shapeClassName: "sap.gantt.shape.Rectangle",
    shapeProperties: {
        time: "{startTime}",
        endTime: "{endTime}",
        height: 32,
        fill: "green",
        title: "{name}",
        level: 0
    }
});

我试图解决的用例是:-

如果有 4 个或更多计划,则用绿色填充形状,否则填充黄色。

我已经尝试过像这样的表达式绑定:

fill: "{= ${data>/schedule}.length > 4 ? 'green' : 'yellow' }"

但这并没有给出任何结果,而是用默认的黑色填充了形状。

还有其他方法可以实现吗?

另外,有没有一种方法可以让我们在 XML 视图中配置甘特图,而不是在控制器中进行所有这些配置?

【问题讨论】:

    标签: javascript xml sapui5 gantt-chart


    【解决方案1】:

    从您的形状定义中删除该属性。 在定义 oRectangle 之前,请放置以下代码段:

    sap.ui.define(["sap/gantt/shape/Rectangle"], function (Rectangle) {
            var shapeRectangle = Rectangle.extend("sap.test.shapeRectangle");
                shapeRectangle.prototype.getFill = function (oRawData) {
                    return oRawData.color;
            };
    
        return shapeRectangle;
    }, true);
    

    之后,您必须在与 startTime、endTime 等相同的级别上为数据模型中的订单提供属性颜色...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-11
      • 2017-04-01
      • 2017-11-20
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多