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 ViewElecPriceByDayDlg : XtraForm
|
{
|
|
|
public ViewElecPriceByDayDlg()
|
{
|
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;
|
|
|
}
|
|
|
}
|
}
|