2016-03-11 64 views
0

我在Kendo中使用Chart控件。我想改變valueAxis中負值的顏色和格式。如果它是負值,我想:將字體顏色更改爲紅色,並將格式顯示爲例如。 「(-1234)」Kendo UI圖表控件 - 更改y軸標籤的格式

下面是我的片斷,但它不工作

valueAxis: [{ 
    name: "value", 
    labels: { 
     //format: '{0:###,###,###,###}' 
     template: "#= (Value < 0 ? '<span style=\\'color:red\\'>(':'') + kendo.toString(Math.abs(value),'\\#\\#\\#,\\#\\#\\#.00') + (value < 0 ? ')</span>':'')" 
    } 
}], 

我怎樣才能做到這一點?感謝您的幫助。

+0

你能爲同提供的jsfiddle? –

+0

對不起,我不知道如何在jsfiddle中創建圖表,但是可以使用這個已經存在的圖表:http://jsfiddle.net/OnaBai/ZPUr4/144/ – user6048082

回答

0

您正試圖在SVG呈現的圖表中使用HTML跨度。改用valueAxis的visual property渲染SVG text

valueAxis: { 
    labels: { 
     visual: function(e) { 
      var center = e.rect.center(); 
      var fillCol = e.value < 0 ? "red" : e.options.color; 
      var text = e.value < 0 ? "(" + e.text + ")" : e.text; 
      return new kendo.drawing.Text(text, e.rect.origin, { 
      fill: { 
       color: fillCol 
      } 
      }) 
     } 
    }, 
}, 

DEMO

+0

謝謝。我在kendo.drawing.Text上收到此錯誤 - >提供的參數不匹配調用目標的任何簽名。 – user6048082

+0

@ user6048082,您是否運行過演示程序:http://dojo.telerik.com/@ezanker/AxImo?您可以將console.log(e)添加到可視功能並檢查它。 – ezanker