你好,感谢你阅读此帖
我在使用Dundas画曲线图的时候,只能使鼠标移动到曲线上的某一点时,可以取得当前点的详细信息,我想实现的是鼠标不用移动到曲线上的点,而是移动到这个点对应的那一个X坐标的时候就能显示当前坐标的详细信息
功能描述:在使用Dundus图表控件的时候,如何让鼠标移动到图表上的某一坐标时,显示出当前坐标对应的详细信息,
也就是说鼠标不用精确地移动到曲线上,而是移动到曲线外时,也能显示出当前曲线对应的坐标的详细信息.
谢谢,我把我的源代码贴出来给各位朋友参考
希望各位朋友能给我一些提示,不胜感激.祝大家生活愉快!
Dundas控件源代码:
- HTML code
<DCWC:Chart ID="Chart1" runat="server" BorderLineColor="185, 195, 208" BorderLineStyle="Solid" Width="740px" Height="390px" OnCallback="Chart1_Callback" Palette="Excel" BackGradientEndColor="229, 233, 240" BackGradientType="TopBottom" > <Series> <DCWC:Series ChartType="SplineRange" Name="Series1" BackGradientType="TopBottom" XValueType="DateTime" BorderColor="DarkSlateGray" > </DCWC:Series> <dcwc:Series ChartType="SplineRange" Name="Series2"> </dcwc:Series> <dcwc:Series ChartType="SplineRange" Name="Series3"> </dcwc:Series> <dcwc:Series ChartType="SplineRange" Name="Series4"> </dcwc:Series> </Series> <ChartAreas> <DCWC:ChartArea Name="Default" BorderColor="Gray" BorderStyle="Solid" BackColor="Transparent"> <AxisX Margin="False" LabelsAutoFit="False" Title="时间"> <MajorGrid LineColor="Silver" Interval="30" IntervalType="Seconds" /> <LabelStyle Format="T" Font="Trebuchet MS, 7.75pt" FontColor="128, 0, 0, 0" Interval="30" IntervalType="Seconds" /> <MajorTickMark Size="2.5" Style="cross" Interval="10" IntervalType="Seconds" /> </AxisX> <AxisY StartFromZero="False" Title="数值"> <LabelStyle Format="N2" /> <MajorGrid Interval="Auto" IntervalType="Auto" LineColor="Silver" /> </AxisY> </DCWC:ChartArea> </ChartAreas> <Titles> <dcwc:Title Color="26, 59, 105" Font="Trebuchet MS, 8.25pt, style=Bold" Name="Title1" Text="实时图表"> </dcwc:Title> </Titles> <Legends> <dcwc:Legend BackColor="Transparent" BorderColor="Black" Docking="Top" Name="Default"> </dcwc:Legend> </Legends> </DCWC:Chart>
这是绑定曲线值的代码,但是只能实现鼠标移动到曲线上的点时才能显示出详细信息,
- C# code
pidx = Chart1.Series[0].Points.AddXY(xDate, seriesValue1); foreach (DataPoint p in Chart1.Series[0].Points) { Chart1.Series[0].Points[pidx].MapAreaAttributes = String.Format("href=\"javascript:drill(';sm-{0:yyyyMM};c','', 'CornflowerBlue')\" onmouseover=\"dispData('{0}','{1:T}','{2:#0.00}')\" onmouseout=\"hideData()\"", ddlYCName1.SelectedValue,DateTime.FromOADate(p.XValue), p.YValues[0]); Chart1.Series[0].Points[pidx].ToolTip = String.Format("Click here for sales data vs. categories in {0:MMM yy} ", DateTime.FromOADate(p.XValue)); }