自定义Telerik DataViz图表工具提示颜色

时间:2015-06-19 20:09:32

标签: asp.net-mvc telerik-mvc kendo-dataviz

我有一张颜色很多的图表。工具提示应显示为黑色或白色,具体取决于图表条的背景颜色。我能想到的唯一选择是使用series.name来处理这个问题。但没有任何作用。

此代码确实将白色或黑色文本作为工具提示准确地放在屏幕上:

.Tooltip(tooltip =>
    tooltip.Visible(true).Template("# if ((series.name === 'foo') || (series.name === 'bah')) { return '<strong style=\"color: black\">bar</strong>'; } else { return '<strong style=\"color: white\">bar</strong>'; } #")
)

但是,一旦我插入#= series.name # #= value #而不是bar,该功能就会崩溃并且不再有效。

接下来,我同时尝试了SharedTemplate和Template(当然是一个):

.Tooltip(tooltip =>
   tooltip.Visible(true).Template("mytemplate")
   tooltip.Visible(true).SharedTemplate("mytemplate")
)

<script id="mytemplate" type="text/x-kendo-template">
   # if ((series.name === 'foo') || (series.name === 'bah')) { #
      <strong style="color: black">bar</strong>
   # } else { #
      <strong style="color: white">bar</strong>
   # } #
</script>

这并没有做任何事情,而是展示了&#34; mytemplate&#34;的工具提示。

这可能吗?如果没有,有什么工作吗?

1 个答案:

答案 0 :(得分:0)

答案是在系列本身设置工具提示颜色:

 .Series(series => {
    series.Column(new double[] { 1, 2, 3}).Name("India").Tooltip(t=>t.Background("#fff"));
    series.Column(new double[] { 4, 5, 6 }).Name("Russian Federation").Tooltip(t => t.Background("#000"));
    series.Column(new double[] { 7, 8, 9}).Name("Germany").Tooltip(t => t.Background("#fff"));
})