SVN r1020

SVN-Revision: r1020
This commit is contained in:
tdx
2025-10-28 04:26:45 +00:00
parent dd04801e2f
commit c5367226bd
+51 -62
View File
@@ -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
/// <param name="colValue">The col value.</param>
/// <param name="series">The series.</param>
/// <returns>Series.</returns>
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
/// <param name="colValue">The col value.</param>
/// <param name="series">The series.</param>
/// <returns>Series.</returns>
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;
}
/// <summary>
@@ -164,10 +169,12 @@ namespace Lskj.Control
/// <param name="colValue">The col value.</param>
/// <param name="series">The series.</param>
/// <returns>Series.</returns>
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;
}
/// <summary>
@@ -183,10 +190,12 @@ namespace Lskj.Control
/// <param name="colValue">The col value.</param>
/// <param name="series">The series.</param>
/// <returns>Series.</returns>
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;
}
/// <summary>
@@ -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;
}
/// <summary>
/// <para>说明:双击图表</para>
/// <para>创建人:龚宇超</para>
@@ -459,6 +463,31 @@ namespace Lskj.Control
}
}
/// <summary>
/// 自定义悬浮框信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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);
}
}
}
}
}
}
/// <summary>
@@ -483,44 +512,4 @@ namespace Lskj.Control
/// <summary>
/// 图表对象
/// </summary>
public class ChartModel
{
/// <summary>
/// The chart3 d
/// </summary>
public int Chart3D;
/// <summary>
/// The y axis shared
/// </summary>
public int YAxisShared;
/// <summary>
/// The y axis title
/// </summary>
public string YAxisTitle;
/// <summary>
/// The x label field
/// </summary>
public string XLabelField;
/// <summary>
/// The y value field
/// </summary>
public string YValueField;
/// <summary>
/// The chart color
/// </summary>
public string ChartColor;
/// <summary>
/// The chart type
/// </summary>
public ChartType ChartType;
/// <summary>
/// 是否为百分比
/// </summary>
public string IsAbsolutely;
/// <summary>
/// Y轴最大刻度
/// </summary>
public double YScale;
}
}
public class ChartMo