我有一个有很多颜色的图表。工具提示应显示为黑色或白色,具体取决于图表条形的背景颜色。我能想到的唯一选择是用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
,该功能就会崩溃,不再起作用。
接下来,我尝试了共享模板和模板(当然一次一个):
.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>
这没有做任何事情,而是显示"mytemplate"的工具提示。
这可能做到吗?如果没有,是否有任何解决方法?
答案是在系列本身上设置工具提示颜色:
.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"));
})