using DevExpress.Data.Linq.Helpers;
using DevExpress.DataAccess.Native.Json;
using DevExpress.XtraCharts;
namespace Yw.WinFrmUI
{
public partial class HydroCurveViewCtrl : DevExpress.XtraEditors.XtraUserControl
{
public HydroCurveViewCtrl()
{
InitializeComponent();
}
///
/// x
///
public string TitleTextX
{
get { return ((XYDiagram)chartControl1.Diagram).AxisX.Title.Text; }
set { ((XYDiagram)chartControl1.Diagram).AxisX.Title.Text = value; }
}
///
/// y
///
public string TitleTextY
{
get { return ((XYDiagram)chartControl1.Diagram).AxisY.Title.Text; }
set { ((XYDiagram)chartControl1.Diagram).AxisY.Title.Text = value; }
}
///
/// x
///
public AxisX AxisX
{
get { return ((XYDiagram)chartControl1.Diagram).AxisX; }
}
///
/// x
///
public AxisY AxisY
{
get { return ((XYDiagram)chartControl1.Diagram).AxisY; }
}
///
///
///
public void SetBindingData(List pts)
{
this.hydroCurvePointViewModelBindingSource.DataSource = pts;
this.hydroCurvePointViewModelBindingSource.ResetBindings(false);
if (pts != null && pts.Any())
{
var x_min = pts.Min(x => x.X);
var x_max = pts.Max(x => x.X);
var y_max = pts.Max(x => x.Y);
var y_min = pts.Min(x => x.Y);
x_min = Math.Floor(x_min);
x_max = Math.Ceiling(x_max);
y_min = Math.Floor(y_min);
y_max = Math.Ceiling(y_max);
this.AxisX.WholeRange.SetMinMaxValues(x_min, x_max);
this.AxisX.VisualRange.SetMinMaxValues(x_min, x_max);
this.AxisY.WholeRange.SetMinMaxValues(y_min, y_min);
this.AxisY.VisualRange.SetMinMaxValues(y_max, y_max);
}
}
}
}