duheng
2024-04-22 a549072a040749f7c732c83d2d0f138614ac08e5
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
using DevExpress.Charts.Native;
using DevExpress.Utils;
using DevExpress.XtraCharts;
using DevExpress.XtraEditors;
using IStation.Model;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace IStation.WinFrmUI
{
    /// <summary>
    /// 查看某日的价格信息
    /// </summary>
    public partial class ViewElecPriceByDay : XtraForm
    {
 
 
        public ViewElecPriceByDay()
        {
            InitializeComponent();
            this.gridView1.SetNormalView();
        }
 
        private void ViewElecPriceByDayDlg_Load(object sender, EventArgs e)
        {
 
        }
 
 
        private List<ElecPriceHourSetting> _allBindingList = null;
        /// <summary>
        /// 
        /// </summary>
        /// <param name="day"></param>
        public void SetBindingData(DateTime day)
        {
            XYDiagram diagram = chartControl1.Diagram as XYDiagram;
            //var diagram = (XYDiagram)this.chartControl1.Diagram;
            diagram.AxisX.WholeRange.Auto = false;
            diagram.AxisX.WholeRange.AutoSideMargins = false; /*自动计算边缘*/
            diagram.AxisX.WholeRange.SideMarginsValue = 0; /*边缘刻度,这个值决定了我们使用自动模式时会出现负数*/
            diagram.AxisX.WholeRange.MaxValue = 24;
            diagram.AxisX.WholeRange.MinValue = 0;
            
 
 
            //图表内容
            var ElePriceSetting = new BLL.ElecPrice().GetAll().First();
            if (ElePriceSetting.Settings == null)
                return;
            var MonthList = ElePriceSetting.Settings.MonthList;
            if (MonthList == null)
                return;
            var FindMonth = MonthList.Find(x => x.StartMonth <= day.Month && x.EndMonth >= day.Month);
            if (FindMonth == null)
                return;
            if (FindMonth.HourList == null)
                return;
            var series = this.chartControl1.Series[0];
            series.Points.Clear();
            //((PointSeriesLabel)series.Label).Visible = false;
            series.CrosshairLabelPattern = "时间为:{A:#0},价格为:{V:#0.0}";
 
            for (int i = 0; i < FindMonth.HourList.Count; i++)
            {
                var item = FindMonth.HourList[i];
                series.Points.Add(new DevExpress.XtraCharts.SeriesPoint(item.StartHour, item.Price));
                series.Points.Add(new DevExpress.XtraCharts.SeriesPoint(item.EndHour, item.Price));
                series.Points.Add(new DevExpress.XtraCharts.SeriesPoint(FindMonth.HourList.Last().EndHour, FindMonth.HourList.Last().Price));
            }
 
 
 
            //数据    
 
            // for (int i = 0;i < FindMonth.HourList.Count; i++)
            this.gridView1.ViewCaption = day.Date.ToString("D");
            _allBindingList = FindMonth.HourList;
            this.bindingSourceGrid.DataSource = _allBindingList;
            this.gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;
 
 
        }
 
       
    }
}