using System.Data;
namespace Yw.WinFrmUI
{
public partial class HydroCurveEditCtrl : DevExpress.XtraEditors.XtraUserControl
{
public HydroCurveEditCtrl()
{
InitializeComponent();
}
private Yw.Model.HydroCurveInfo _curve = null;//曲线
///
/// 绑定数据
///
public void SetBindingData(Yw.Model.HydroCurveInfo curve)
{
if (curve == null)
{
return;
}
_curve = curve;
var curveType = Yw.Ahart.eCurveType.QH;
switch (curve.CurveType)
{
case Yw.WinFrmUI.HydroCurveType.CurveQH:
{
curveType = Yw.Ahart.eCurveType.QH;
}
break;
case HydroCurveType.CurveQP:
{
curveType = Yw.Ahart.eCurveType.QE;
}
break;
case HydroCurveType.CurveQE:
{
curveType = Yw.Ahart.eCurveType.QP;
}
break;
case HydroCurveType.CurveQL:
{
curveType = Yw.Ahart.eCurveType.QL;
}
break;
case HydroCurveType.CurveOL:
{
curveType = Yw.Ahart.eCurveType.OL;
}
break;
case HydroCurveType.CurveVol:
{
curveType = Yw.Ahart.eCurveType.VOL;
}
break;
default: break;
}
var pts = curve.CurveData?.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList();
this.universalChartExcelEditCtrl1.SetBindingData(curveType, pts);
}
///
/// 获取
///
public Yw.Model.HydroCurveInfo GetCurveInfo()
{
if (_curve == null)
{
return default;
}
var bol = this.universalChartExcelEditCtrl1.Get(out Ahart.eFeatType featType, out List pts);
if (!bol)
{
return default;
}
_curve.CurveData = pts?.Select(x => new Model.Hydro.CurvePoint(x.X, x.Y)).ToList();
return _curve;
}
}
}