我正在使用Kendos StockChart和Razor / MVC。
当我的用户徘徊在系列中的某个项目上时,我想要一个包含数据绑定数据的友好字符串 ,而不仅仅是值或类别。
class Node
{
public int Value {get; set;}
public DateTime Date { get; set;}
public string InterestingInfo { get; set;}
}
@(Html.Kendo().StockChart<Node>()
.Name("chart")
.DataSource(ds => ds.Read(read => read.Action("_X", "Controller")))
.DateField("Date")
.Series(series => {
series.Line(model => model.Value);
})
.Navigator(nav => nav
.DataSource(ds => ds .Read(read => read.Action("_X", "Controller")))
.Series(series =>
{
series.Area(s => s.Value);
})
)
.Tooltip(tooltip => tooltip
.Visible(true)
.Shared(false)
.Template("#=InterestingInfo#")
)
)
)
无论我在模板中使用什么,我似乎无法在工具提示中获得任何“未定义”
我已经尝试过,但说实话,我不确定我在做什么,谁来处理这些(是jquery,kendo等)
#=data.InterestingInfo#
#=dataItem.InterestingInfo#
答案 0 :(得分:3)
作为一般Kendo UI提示,如果您无法在模板中获取要打印的值,则可以制作模板:
"#console.log(data)#"
然后在开发工具中检查控制台。您应该能够找到以这种方式传递给模板的内容。
答案 1 :(得分:3)
在Node类中,添加:
class Node
{
public int Value {get; set;}
public DateTime Date { get; set;}
public string InterestingInfo { get; set;}
public string Tooltip { get; set; }
}
在控制器中的read方法“MethodX”中,使用您想要的任何内容填充Tooltip属性。从那里,您可以使用以下代码:
.Tooltip(tooltip => tooltip
.Visible(true)
.Shared(false)
.Template("#= dataItem.Tooltip #")
)
dataItem由kendo处理,它是该特定绑定对象的数据。 '#= stuff here''是模板数据的kendo语法。祝你好运!