【发布时间】:2013-08-23 15:47:11
【问题描述】:
我一直在寻找某种侧重于工具提示如何工作的教程,但运气不佳。
我有一个测试项目,我在其中渲染一个包含五个数据点的折线图。当我实例化Chart 对象时,我设置了IsMapEnabled = true。当我定义系列时,我会尝试设置工具提示。
private void DefineSeries() {
var series = new Series();
series.ToolTip = "#VALY";
series.PostBackValue = "#Index";
var x = new[] {0, 1, 2, 3, 4, 5};
var y = new[] {0, 4, 5, 3, 7, 2};
for ( int i = 0; i < x.Length; i++ ) {
series.Points.Add( new DataPoint( x[ i ], y[ i ] ) );
}
series.ChartType = SeriesChartType.Line;
DefineSeriesStyle( series );
chart_.Series.Add( series );
}
图表按预期呈现,但当鼠标悬停在数据点上时不显示工具提示。我显然在某处遗漏了一步,但我不知道它是什么。
编辑:显示图表视图模型和后续函数调用的 Action 方法和构造函数的代码。
public ActionResult CausedOutPoint() {
var causedOut = new CausedOutViewModel();
var path = Server.MapPath( "~" ) + "CausedOut.Png";
causedOut.Chart.SaveImage( path, ChartImageFormat.Png );
return File( path, "img/png" );
}
public CausedOutViewModel() {
chart_ = new Chart {IsMapEnabled = true};
chart_.PostPaint += chart__PostPaint;
chart_.RenderType = RenderType.ImageMap;
chart_.ID = "CausedOut";
InitializeChart( chart_ );
chart_.Width = new Unit( 1200, UnitType.Pixel );
chart_.Height = new Unit( 800, UnitType.Pixel );
CreateTitles();
}
private void InitializeChart( ) {
DefineSeries();
DefineChartArea();
}
【问题讨论】:
-
您是否为
Chart设置了ID,正如MSChart / Asp.net Charts dont show tooltips 的接受答案中所引用的那样? -
我在搜索过程中确实看到了这一点。我试过了,还是不行。
标签: c# asp.net asp.net-mvc data-visualization mschart