如何更改单元格笔触颜色

时间:2018-11-28 09:27:09

标签: mxgraph

我正在尝试根据单元格的自定义属性动态更改某些形状的边框颜色,以下是我的代码:

        var cells = graph.getChildCells();
        for (var i = 0; i < cells.length; i++) {
            var cell = cells[i];
            if (cell != null && ....) {
               var style=cell.getStyle();                       
               console.info('style='+style);
               style=style+mxConstants.STYLE_STROKECOLOR+"=red";
               cell.setStyle(style);
               console.info('style='+style);
            }
         }

在浏览器的控制台中,我看到:

  

style =椭圆; whiteSpace =环绕;旋转= 40;   style = ellipse; whiteSpace = wrap; rotation = 40; strokeColor = red

但是什么也没发生。这是正确的方法吗?

2 个答案:

答案 0 :(得分:1)

我自己找到了答案;-)以下是在不更改形状的其他设置/样式的情况下更改笔触颜色的工作代码:

var style=graph.getModel().getStyle(cell);
var newStyle=mxUtils.setStyle(style,mxConstants.STYLE_STROKECOLOR,'red');
var cs= new Array();
cs[0]=cell;
graph.setCellStyle(newStyle,cs);

与它的功能相比,我认为它有点“怪异”,但我发现没有比这些更好的API。

答案 1 :(得分:1)

有更好的方法。

graph.setCellStyles(mxConstants.STYLE_STROKECOLOR, 'red', [cell])

查看mxGraph文档here