lixiaojun
2024-12-04 e0df433d23b1afffa0b04389ad8b915a91f8debc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using DevExpress.CodeParser;
using DevExpress.XtraCharts;
 
namespace Yw.WinFrmUI
{
    public partial class HydroWorkingTotalEvaluationCtrl : DevExpress.XtraEditors.XtraUserControl
    {
        public HydroWorkingTotalEvaluationCtrl()
        {
            InitializeComponent();
        }
 
        private List<HydroWorkingTotalEvaluationViewModel> _allBindingList = null;//所有绑定列表
 
        /// <summary>
        /// 绑定数据
        /// </summary>
        public void SetBindingData(List<HydroWorkingMonitorEvaluationViewModel> allEvaluationList)
        {
            _allBindingList = new List<HydroWorkingTotalEvaluationViewModel>();
            if (allEvaluationList != null && allEvaluationList.Count > 0)
            {
                var allEvaluationHasList = allEvaluationList.Where(x => x.EvaluateError.HasValue).ToList();
                if (allEvaluationHasList.Count > 0)
                {
                    var totalAvgValue = allEvaluationHasList.Average(x => x.EvaluateError.Value);
                    var seriesView = this.chartControl1.Series[0].View as DoughnutSeriesView;
                    seriesView.TotalLabel.TextPattern = $"{Math.Round(totalAvgValue, 1)}%";
                    var groupList = allEvaluationHasList.GroupBy(x => x.EvaluateItem);
                    foreach (var group in groupList)
                    {
                        var avgValue = group.Average(x => x.EvaluateError.Value);
                        var vm = new HydroWorkingTotalEvaluationViewModel();
                        vm.EvaluateItem = group.Key;
                        vm.EvaluateCount = group.Count();
                        vm.EvaluateValue = Math.Round(avgValue, 1);
                        _allBindingList.Add(vm);
                    }
                }
            }
            this.hydroWorkingTotalEvaluationViewModelBindingSource.DataSource = _allBindingList;
            this.hydroWorkingTotalEvaluationViewModelBindingSource.ResetBindings(false);
        }
 
 
 
 
 
    }
}