diff --git a/插件库/Lskj.Control/ChartControlEx.cs b/插件库/Lskj.Control/ChartControlEx.cs
index 22fa45c..2d0dac9 100644
--- a/插件库/Lskj.Control/ChartControlEx.cs
+++ b/插件库/Lskj.Control/ChartControlEx.cs
@@ -23,6 +23,7 @@ using DevExpress.XtraEditors;
using Lskj.Business.Impl;
using DevExpress.XtraGrid.Columns;
using System.Collections;
+using Lskj.Util;
namespace Lskj.Control
{
@@ -94,19 +95,19 @@ namespace Lskj.Control
{
default:
case ChartType.LineChart:
- CreateSeries(xValue, yValue, series);
+ CreateSeries(xValue, yValue, item, series);
break;
case ChartType.BarChart:
if (chart.Chart3D == 1)
- CreateSeriesBar3D(xValue, yValue, series);
+ CreateSeriesBar3D(xValue, yValue, item, series);
else
- CreateSeries(xValue, yValue, series);
+ CreateSeries(xValue, yValue, item, series);
break;
case ChartType.PieChart:
if (chart.Chart3D == 1)
- CreateSeriesPie3D(xValue, yValue, series);
+ CreateSeriesPie3D(xValue, yValue, item, series);
else
- CreateSeriesPie(xValue, yValue, series);
+ CreateSeriesPie(xValue, yValue, item, series);
break;
}
}
@@ -124,10 +125,12 @@ namespace Lskj.Control
/// The col value.
/// The series.
/// Series.
- private Series CreateSeries(string colName, string colValue, Series series)
+ private Series CreateSeries(string colName, string colValue, DataRow dataRow, Series series)
{
-
- series.Points.Add(new SeriesPoint(colName + "" == "" ? "*指标为空*" : colName, colValue + "" == "" ? "0" : colValue));
+ SeriesPoint seriesPoint = new SeriesPoint(colName + "" == "" ? "*指标为空*" : colName, colValue + "" == "" ? "0" : colValue);
+ seriesPoint.Tag = dataRow;//缓存数据源
+
+ series.Points.Add(seriesPoint);
series.ArgumentScaleType = ScaleType.Qualitative;
series.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;//显示标注标签
@@ -146,9 +149,11 @@ namespace Lskj.Control
/// The col value.
/// The series.
/// Series.
- private Series CreateSeriesBar3D(String colName, String colValue, Series series)
+ private Series CreateSeriesBar3D(string colName, string colValue, DataRow dataRow, Series series)
{
- series.Points.Add(new SeriesPoint(colName + "" == "" ? "*指标为空*" : colName, new double[] { Convert.ToDouble(colValue + "" == "" ? "0" : colValue) }));
+ SeriesPoint seriesPoint = new SeriesPoint(colName + "" == "" ? "*指标为空*" : colName, new double[] { Convert.ToDouble(colValue + "" == "" ? "0" : colValue) });
+ seriesPoint.Tag = dataRow;
+ series.Points.Add(seriesPoint);
return series;
}
///
@@ -164,10 +169,12 @@ namespace Lskj.Control
/// The col value.
/// The series.
/// Series.
- private Series CreateSeriesPie3D(string colName, String colValue, Series series)
+ private Series CreateSeriesPie3D(string colName, string colValue, DataRow dataRow, Series series)
{
if (!string.IsNullOrWhiteSpace(colValue) && double.Parse(colValue) < 0) return series;
- series.Points.Add(new SeriesPoint(colName + "" == "" ? "*指标为空*" : colName, new double[] { Convert.ToDouble(colValue + "" == "" ? "0" : colValue) }));
+ SeriesPoint seriesPoint = new SeriesPoint(colName + "" == "" ? "*指标为空*" : colName, new double[] { Convert.ToDouble(colValue + "" == "" ? "0" : colValue) });
+ seriesPoint.Tag = dataRow;
+ series.Points.Add(seriesPoint);
return series;
}
///
@@ -183,10 +190,12 @@ namespace Lskj.Control
/// The col value.
/// The series.
/// Series.
- private Series CreateSeriesPie(String colName, String colValue, Series series)
+ private Series CreateSeriesPie(string colName, string colValue, DataRow dataRow, Series series)
{
if (!string.IsNullOrWhiteSpace(colValue) && double.Parse(colValue) < 0) return series;
- series.Points.Add(new SeriesPoint(colName + "" == "" ? "*指标为空*" : colName, new double[] { Convert.ToDouble(colValue + "" == "" ? "0" : colValue) }));
+ SeriesPoint seriesPoint = new SeriesPoint(colName + "" == "" ? "*指标为空*" : colName, new double[] { Convert.ToDouble(colValue + "" == "" ? "0" : colValue) });
+ seriesPoint.Tag = dataRow;
+ series.Points.Add(seriesPoint);
return series;
}
///
@@ -353,15 +362,10 @@ namespace Lskj.Control
this.cmMain.SeriesTemplate.LabelsVisibility = DefaultBoolean.True;
this.cmMain.CrosshairEnabled = DefaultBoolean.True;
this.cmMain.ToolTipEnabled = DefaultBoolean.True;
-
- // this.cmMain.Legend.AlignmentVertical = LegendAlignmentVertical.Top;
-
+ this.cmMain.CustomDrawCrosshair += OnCmMainCustomDrawCrosshair;
+ // this.cmMain.Legend.AlignmentVertical = LegendAlignmentVertical.Top;
}
-
-
-
-
///
/// 说明:双击图表
/// 创建人:龚宇超
@@ -459,6 +463,31 @@ namespace Lskj.Control
}
}
+ ///
+ /// 自定义悬浮框信息
+ ///
+ ///
+ ///
+ private void OnCmMainCustomDrawCrosshair(object sender, CustomDrawCrosshairEventArgs e)
+ {
+ foreach (CrosshairElementGroup group in e.CrosshairElementGroups)
+ {
+ CrosshairGroupHeaderElement groupHeaderElement = group.HeaderElement;
+ SeriesPoint seriesPoint = groupHeaderElement.SeriesPoints.FirstOrDefault();
+ if (seriesPoint != null && seriesPoint.Tag != null && seriesPoint.Tag is DataRow dataRow)
+ {
+ if (dataRow.Table.Columns.Contains("customHeaderTips"))
+ {
+ string customHeaderTips = dataRow["dataRow"] + "";
+ if (!string.IsNullOrEmpty(customHeaderTips))
+ {
+ groupHeaderElement.Text = ReplaceHelper.ReplaceRowParam(dataRow, customHeaderTips);
+ }
+ }
+ }
+ }
+ }
+
}
///
@@ -483,44 +512,4 @@ namespace Lskj.Control
///
/// 图表对象
///
- public class ChartModel
- {
- ///
- /// The chart3 d
- ///
- public int Chart3D;
- ///
- /// The y axis shared
- ///
- public int YAxisShared;
- ///
- /// The y axis title
- ///
- public string YAxisTitle;
- ///
- /// The x label field
- ///
- public string XLabelField;
- ///
- /// The y value field
- ///
- public string YValueField;
- ///
- /// The chart color
- ///
- public string ChartColor;
- ///
- /// The chart type
- ///
- public ChartType ChartType;
- ///
- /// 是否为百分比
- ///
- public string IsAbsolutely;
- ///
- /// Y轴最大刻度
- ///
- public double YScale;
-
- }
-}
+ public class ChartMo
\ No newline at end of file