using DevExpress.CodeParser;
using DevExpress.XtraCharts;
namespace Yw.WinFrmUI
{
public partial class HydroWorkingTotalEvaluationCtrl : DevExpress.XtraEditors.XtraUserControl
{
public HydroWorkingTotalEvaluationCtrl()
{
InitializeComponent();
}
///
/// 绑定数据
///
public void SetBindingData(List allEvaluationList)
{
if (allEvaluationList == null || allEvaluationList.Count < 1)
{
return;
}
var list = allEvaluationList.Where(x => x.EvaluateError.HasValue).ToList();
if (list.Count > 0)
{
var avgValue = list.Average(x => x.EvaluateError.Value);
var seriesView = this.chartControl1.Series[0].View as DoughnutSeriesView;
seriesView.TotalLabel.TextPattern = $"{Math.Round(avgValue, 1)}%";
}
var series = this.chartControl1.Series[0];
series.Points.Clear();
var groupList = list?.GroupBy(x => x.PropName).ToList();
if (groupList != null && groupList.Count > 0)
{
foreach (var group in groupList)
{
var items = group.Where(x => x.EvaluateError.HasValue).ToList();
if (items != null && items.Count > 0)
{
var propName = HydroVisualCalcuPropHelper.GetName(group.Key);
var avgValue = Math.Round(items.Average(x => x.EvaluateError.Value), 1);
series.Points.Add(new SeriesPoint(propName, avgValue));
}
}
}
}
}
}