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; } } }