我正在尝试根据单元格的自定义属性动态更改某些形状的边框颜色,以下是我的代码:
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
但是什么也没发生。这是正确的方法吗?
答案 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)