using DevExpress.XtraEditors;
|
using IStation.Win.View.ViewModel;
|
|
namespace IStation.Win.View
|
{
|
public partial class RealTimeZyScadaView : DevExpress.XtraEditors.XtraUserControl
|
{
|
public RealTimeZyScadaView()
|
{
|
InitializeComponent();
|
this.gridView1.SetNormalView();
|
this.gridView2.SetNormalView();
|
this.gridView3.SetNormalView();
|
this.gridView4.SetNormalView();
|
}
|
|
private static readonly Service.Station _service_station = new();
|
private static readonly Service.ScheduleConfig _service_schedule_config = new();
|
|
private void btnGetScada_Click(object sender, EventArgs e)
|
{
|
this.txtDN2400Flow.EditValue = null;
|
this.txtDN2400Pressure.EditValue = null;
|
this.txtDN2700Flow.EditValue = null;
|
this.txtDN2700Pressure.EditValue = null;
|
this.txtJD1Flow.EditValue = null;
|
this.txtJD1Pressure.EditValue = null;
|
this.txtJD2Flow.EditValue = null;
|
this.txtJD2Pressure.EditValue = null;
|
this.txtJD3Flow.EditValue = null;
|
this.txtJD3Pressure.EditValue = null;
|
|
this.realTimePumpScadaViewModelBindingSource.DataSource = new List<RealTimePumpScadaViewModel>();
|
this.realTimePumpScadaViewModelBindingSource1.DataSource = new List<RealTimePumpScadaViewModel>();
|
|
this.realTimePumpScheduleViewModelBindingSource.DataSource = new List<RealTimePumpScheduleViewModel>();
|
this.realTimePumpScheduleViewModelBindingSource1.DataSource = new List<RealTimePumpScheduleViewModel>();
|
|
GlobalHelper.GetRealTimeZyScadaList(out List<Model.ZyScada> zy_scada_list, true);
|
if (zy_scada_list == null || !zy_scada_list.Any())
|
{
|
return;
|
}
|
var zy_scada_dict = zy_scada_list.ToDictionary(x => x.Code, x => x.Value);
|
|
var DN2400Flow = zy_scada_dict[GlobalHelper.DN2400总管_瞬时流量_长江管网图];
|
var DN2400Pressure = zy_scada_dict[GlobalHelper.DN2400_出厂压力_长江管网图];
|
var DN2700Flow = zy_scada_dict[GlobalHelper.DN2700总管_瞬时流量_长江管网图];
|
var DN2700Pressure = zy_scada_dict[GlobalHelper.DN2700_出厂压力_长江管网图];
|
var JD1Flow = zy_scada_dict[GlobalHelper.嘉定1线_瞬时流量_长江管网图];
|
var JD1Pressure = zy_scada_dict[GlobalHelper.嘉定1线_压力_长江管网图];
|
var JD2Flow = zy_scada_dict[GlobalHelper.嘉定2线_瞬时流量_长江管网图];
|
var JD2Pressure = zy_scada_dict[GlobalHelper.嘉定2线_压力_长江管网图];
|
var JD3Flow = zy_scada_dict[GlobalHelper.嘉定3线_瞬时流量_长江管网图];
|
var JD3Pressure = zy_scada_dict[GlobalHelper.嘉定3线_压力_长江管网图];
|
|
#region RealScada
|
|
this.txtDN2400Flow.EditValue = DN2400Flow;
|
this.txtDN2400Pressure.EditValue = DN2400Pressure;
|
this.txtDN2700Flow.EditValue = DN2700Flow;
|
this.txtDN2700Pressure.EditValue = DN2700Pressure;
|
this.txtJD1Flow.EditValue = JD1Flow;
|
this.txtJD1Pressure.EditValue = JD1Pressure;
|
this.txtJD2Flow.EditValue = JD2Flow;
|
this.txtJD2Pressure.EditValue = JD2Pressure;
|
this.txtJD3Flow.EditValue = JD3Flow;
|
this.txtJD3Pressure.EditValue = JD3Pressure;
|
|
var pump_vm11 = new RealTimePumpScadaViewModel();
|
var pump_vm12 = new RealTimePumpScadaViewModel();
|
var pump_vm13 = new RealTimePumpScadaViewModel();
|
var pump_vm14 = new RealTimePumpScadaViewModel();
|
var pump_vm15 = new RealTimePumpScadaViewModel();
|
var pump_vm16 = new RealTimePumpScadaViewModel();
|
var pump_vm17 = new RealTimePumpScadaViewModel();
|
var pump_vm18 = new RealTimePumpScadaViewModel();
|
var pump_vm21 = new RealTimePumpScadaViewModel();
|
var pump_vm22 = new RealTimePumpScadaViewModel();
|
var pump_vm23 = new RealTimePumpScadaViewModel();
|
var pump_vm24 = new RealTimePumpScadaViewModel();
|
var pump_vm25 = new RealTimePumpScadaViewModel();
|
var pump_vm26 = new RealTimePumpScadaViewModel();
|
var pump_vm27 = new RealTimePumpScadaViewModel();
|
|
pump_vm11.Flag = GlobalHelper.Flag11;
|
pump_vm12.Flag = GlobalHelper.Flag12;
|
pump_vm13.Flag = GlobalHelper.Flag13;
|
pump_vm14.Flag = GlobalHelper.Flag14;
|
pump_vm15.Flag = GlobalHelper.Flag15;
|
pump_vm16.Flag = GlobalHelper.Flag16;
|
pump_vm17.Flag = GlobalHelper.Flag17;
|
pump_vm18.Flag = GlobalHelper.Flag18;
|
|
pump_vm21.Flag = GlobalHelper.Flag21;
|
pump_vm22.Flag = GlobalHelper.Flag22;
|
pump_vm23.Flag = GlobalHelper.Flag23;
|
pump_vm24.Flag = GlobalHelper.Flag24;
|
pump_vm25.Flag = GlobalHelper.Flag25;
|
pump_vm26.Flag = GlobalHelper.Flag26;
|
pump_vm27.Flag = GlobalHelper.Flag27;
|
|
|
pump_vm11.RunStatus = zy_scada_dict[GlobalHelper.一输11泵_运行状态];
|
pump_vm12.RunStatus = zy_scada_dict[GlobalHelper.一输12泵_运行状态];
|
pump_vm13.RunStatus = zy_scada_dict[GlobalHelper.一输13泵_运行状态];
|
pump_vm14.RunStatus = zy_scada_dict[GlobalHelper.一输14泵_运行状态];
|
pump_vm15.RunStatus = zy_scada_dict[GlobalHelper.一输15泵_运行状态];
|
pump_vm16.RunStatus = zy_scada_dict[GlobalHelper.一输16泵_运行状态];
|
pump_vm17.RunStatus = zy_scada_dict[GlobalHelper.一输17泵_运行状态];
|
pump_vm18.RunStatus = zy_scada_dict[GlobalHelper.一输18泵_运行状态];
|
|
pump_vm21.RunStatus = zy_scada_dict[GlobalHelper.二输21泵_运行状态];
|
pump_vm22.RunStatus = zy_scada_dict[GlobalHelper.二输22泵_运行状态];
|
pump_vm23.RunStatus = zy_scada_dict[GlobalHelper.二输23泵_运行状态];
|
pump_vm24.RunStatus = zy_scada_dict[GlobalHelper.二输24泵_运行状态];
|
pump_vm25.RunStatus = zy_scada_dict[GlobalHelper.二输25泵_运行状态];
|
pump_vm26.RunStatus = zy_scada_dict[GlobalHelper.二输26泵_运行状态];
|
pump_vm27.RunStatus = zy_scada_dict[GlobalHelper.二输27泵_运行状态];
|
|
|
pump_vm11.InletWaterLevel = zy_scada_dict[GlobalHelper.一输_老前池南侧液位];
|
pump_vm12.InletWaterLevel = zy_scada_dict[GlobalHelper.一输_老前池南侧液位];
|
pump_vm13.InletWaterLevel = zy_scada_dict[GlobalHelper.一输_老前池南侧液位];
|
pump_vm14.InletWaterLevel = zy_scada_dict[GlobalHelper.一输_老前池北侧液位];
|
pump_vm15.InletWaterLevel = zy_scada_dict[GlobalHelper.一输_老前池北侧液位];
|
pump_vm16.InletWaterLevel = zy_scada_dict[GlobalHelper.一输_新前池液位];
|
pump_vm17.InletWaterLevel = zy_scada_dict[GlobalHelper.一输_新前池液位];
|
pump_vm18.InletWaterLevel = zy_scada_dict[GlobalHelper.一输_新前池液位];
|
|
pump_vm21.InletWaterLevel = zy_scada_dict[GlobalHelper.二输21泵_泵井液位];
|
pump_vm22.InletWaterLevel = zy_scada_dict[GlobalHelper.二输22泵_泵井液位];
|
pump_vm23.InletWaterLevel = zy_scada_dict[GlobalHelper.二输23泵_泵井液位];
|
pump_vm24.InletWaterLevel = zy_scada_dict[GlobalHelper.二输24泵_泵井液位];
|
pump_vm25.InletWaterLevel = zy_scada_dict[GlobalHelper.二输25泵_泵井液位];
|
pump_vm26.InletWaterLevel = zy_scada_dict[GlobalHelper.二输26泵_泵井液位];
|
pump_vm27.InletWaterLevel = zy_scada_dict[GlobalHelper.二输27泵_泵井液位];
|
|
|
pump_vm11.OutletPressure = zy_scada_dict[GlobalHelper.一输11泵_出口压力];
|
pump_vm12.OutletPressure = zy_scada_dict[GlobalHelper.一输12泵_出口压力];
|
pump_vm13.OutletPressure = zy_scada_dict[GlobalHelper.一输13泵_出口压力];
|
pump_vm14.OutletPressure = zy_scada_dict[GlobalHelper.一输14泵_出口压力];
|
pump_vm15.OutletPressure = zy_scada_dict[GlobalHelper.一输15泵_出口压力];
|
pump_vm16.OutletPressure = zy_scada_dict[GlobalHelper.一输16泵_出口压力];
|
pump_vm17.OutletPressure = zy_scada_dict[GlobalHelper.一输17泵_出口压力];
|
pump_vm18.OutletPressure = zy_scada_dict[GlobalHelper.一输18泵_出口压力];
|
|
pump_vm21.OutletPressure = zy_scada_dict[GlobalHelper.二输21泵_出水压力];
|
pump_vm22.OutletPressure = zy_scada_dict[GlobalHelper.二输22泵_出水压力];
|
pump_vm23.OutletPressure = zy_scada_dict[GlobalHelper.二输23泵_出水压力];
|
pump_vm24.OutletPressure = zy_scada_dict[GlobalHelper.二输24泵_出水压力];
|
pump_vm25.OutletPressure = zy_scada_dict[GlobalHelper.二输25泵_出水压力];
|
pump_vm26.OutletPressure = zy_scada_dict[GlobalHelper.二输26泵_出水压力];
|
pump_vm27.OutletPressure = zy_scada_dict[GlobalHelper.二输27泵_出水压力];
|
|
|
pump_vm11.ActivePower = zy_scada_dict[GlobalHelper.一输11泵_有功功率];
|
pump_vm12.ActivePower = zy_scada_dict[GlobalHelper.一输12泵_有功功率];
|
pump_vm13.ActivePower = zy_scada_dict[GlobalHelper.一输13泵_有功功率];
|
pump_vm14.ActivePower = zy_scada_dict[GlobalHelper.一输14泵_有功功率];
|
pump_vm15.ActivePower = zy_scada_dict[GlobalHelper.一输15泵_有功功率];
|
pump_vm16.ActivePower = zy_scada_dict[GlobalHelper.一输16泵_有功功率];
|
pump_vm17.ActivePower = zy_scada_dict[GlobalHelper.一输17泵_有功功率];
|
pump_vm18.ActivePower = zy_scada_dict[GlobalHelper.一输18泵_有功功率];
|
|
pump_vm21.ActivePower = zy_scada_dict[GlobalHelper.二输21泵_有功功率];
|
pump_vm22.ActivePower = zy_scada_dict[GlobalHelper.二输22泵_有功功率];
|
pump_vm23.ActivePower = zy_scada_dict[GlobalHelper.二输23泵_有功功率];
|
pump_vm24.ActivePower = zy_scada_dict[GlobalHelper.二输24泵_有功功率];
|
pump_vm25.ActivePower = zy_scada_dict[GlobalHelper.二输25泵_有功功率];
|
pump_vm26.ActivePower = zy_scada_dict[GlobalHelper.二输26泵_有功功率];
|
pump_vm27.ActivePower = zy_scada_dict[GlobalHelper.二输27泵_有功功率];
|
|
pump_vm21.InstantaneousFlow = zy_scada_dict[GlobalHelper.二输21泵_瞬时流量];
|
pump_vm22.InstantaneousFlow = zy_scada_dict[GlobalHelper.二输22泵_瞬时流量];
|
pump_vm23.InstantaneousFlow = zy_scada_dict[GlobalHelper.二输23泵_瞬时流量];
|
pump_vm24.InstantaneousFlow = zy_scada_dict[GlobalHelper.二输24泵_瞬时流量];
|
pump_vm25.InstantaneousFlow = zy_scada_dict[GlobalHelper.二输25泵_瞬时流量];
|
pump_vm26.InstantaneousFlow = zy_scada_dict[GlobalHelper.二输26泵_瞬时流量];
|
pump_vm27.InstantaneousFlow = zy_scada_dict[GlobalHelper.二输27泵_瞬时流量];
|
|
|
pump_vm11.RotateSpeed = zy_scada_dict[GlobalHelper.一输11泵_转速];
|
pump_vm12.RotateSpeed = zy_scada_dict[GlobalHelper.一输12泵_转速];
|
pump_vm13.RotateSpeed = zy_scada_dict[GlobalHelper.一输13泵_转速];
|
pump_vm14.RotateSpeed = zy_scada_dict[GlobalHelper.一输14泵_转速];
|
pump_vm15.RotateSpeed = pump_vm15.RunStatus == 1 ? 590 : 0;
|
pump_vm16.RotateSpeed = pump_vm16.RunStatus == 1 ? 590 : 0;
|
pump_vm17.RotateSpeed = zy_scada_dict[GlobalHelper.一输17泵_转速];
|
pump_vm18.RotateSpeed = zy_scada_dict[GlobalHelper.一输18泵_转速];
|
|
pump_vm21.RotateSpeed = zy_scada_dict[GlobalHelper.二输21泵_转速];
|
pump_vm22.RotateSpeed = zy_scada_dict[GlobalHelper.二输22泵_转速];
|
pump_vm23.RotateSpeed = zy_scada_dict[GlobalHelper.二输23泵_转速];
|
pump_vm24.RotateSpeed = zy_scada_dict[GlobalHelper.二输24泵_转速];
|
pump_vm25.RotateSpeed = zy_scada_dict[GlobalHelper.二输25泵_转速];
|
pump_vm26.RotateSpeed = zy_scada_dict[GlobalHelper.二输26泵_转速];
|
pump_vm27.RotateSpeed = zy_scada_dict[GlobalHelper.二输27泵_转速];
|
|
|
pump_vm11.MaintenanceState = null;
|
pump_vm12.MaintenanceState = null;
|
pump_vm13.MaintenanceState = null;
|
pump_vm14.MaintenanceState = null;
|
pump_vm15.MaintenanceState = null;
|
pump_vm16.MaintenanceState = null;
|
pump_vm17.MaintenanceState = null;
|
pump_vm18.MaintenanceState = null;
|
|
pump_vm21.MaintenanceState = zy_scada_dict[GlobalHelper.二输21泵_检修状态];
|
pump_vm22.MaintenanceState = zy_scada_dict[GlobalHelper.二输22泵_检修状态];
|
pump_vm23.MaintenanceState = zy_scada_dict[GlobalHelper.二输23泵_检修状态];
|
pump_vm24.MaintenanceState = zy_scada_dict[GlobalHelper.二输24泵_检修状态];
|
pump_vm25.MaintenanceState = zy_scada_dict[GlobalHelper.二输25泵_检修状态];
|
pump_vm26.MaintenanceState = zy_scada_dict[GlobalHelper.二输26泵_检修状态];
|
pump_vm27.MaintenanceState = zy_scada_dict[GlobalHelper.二输27泵_检修状态];
|
|
|
var real_time_pump_scada_vm_list_station1 = new List<RealTimePumpScadaViewModel>
|
{
|
pump_vm11,
|
pump_vm12,
|
pump_vm13,
|
pump_vm14,
|
pump_vm15,
|
pump_vm16,
|
pump_vm17,
|
pump_vm18
|
};
|
|
var real_time_pump_scada_vm_list_station2 = new List<RealTimePumpScadaViewModel>
|
{
|
pump_vm21,
|
pump_vm22,
|
pump_vm23,
|
pump_vm24,
|
pump_vm25,
|
pump_vm26,
|
pump_vm27
|
};
|
|
|
real_time_pump_scada_vm_list_station1.ForEach(x => x.Set());
|
this.realTimePumpScadaViewModelBindingSource.DataSource = real_time_pump_scada_vm_list_station1;
|
this.realTimePumpScadaViewModelBindingSource.ResetBindings(false);
|
this.gridView1.BestFitColumns();
|
|
real_time_pump_scada_vm_list_station2.ForEach(x => x.Set());
|
this.realTimePumpScadaViewModelBindingSource1.DataSource = real_time_pump_scada_vm_list_station2;
|
this.realTimePumpScadaViewModelBindingSource.ResetBindings(false);
|
this.gridView2.BestFitColumns();
|
|
#endregion
|
|
WaitHelper.ShowWaitForm("调度...");
|
var flow_list1 = new List<double?>() { JD1Flow, JD2Flow, JD3Flow };
|
var flow_list2 = new List<double?>() { DN2400Flow, DN2700Flow };
|
var pressure_list1 = new List<double?>() { JD1Pressure, JD2Pressure, JD3Pressure };
|
var pressure_list2 = new List<double?>() { DN2400Pressure, DN2700Pressure };
|
|
var real_target_flow1 = flow_list1.Sum();
|
var real_target_flow2 = flow_list2.Sum();
|
var real_target_pressure1 = pressure_list1.Max() / 1000;
|
var real_target_pressure2 = pressure_list2.Max();
|
|
|
this.txtTargetFlow1.EditValue = Math.Round(real_target_flow1 ?? 0, 2);
|
this.txtTargetPressure1.EditValue = Math.Round(real_target_pressure1 ?? 0, 2);
|
|
this.txtTargetFlow2.EditValue = Math.Round(real_target_flow2 ?? 0, 2);
|
this.txtTargetPressure2.EditValue = Math.Round(real_target_pressure2 ?? 0, 2);
|
|
|
var target_flow1 = real_target_flow1 ?? 0;
|
var target_flow2 = real_target_flow2 ?? 0;
|
var target_pressure1 = real_target_pressure1 ?? 0;
|
var target_pressure2 = real_target_pressure2 ?? 0;
|
|
if (double.TryParse(this.txtTargetFlow1.Text, out double flow1))
|
target_flow1 = flow1;
|
if (double.TryParse(this.txtTargetFlow2.Text, out double flow2))
|
target_flow2 = flow2;
|
|
if (double.TryParse(this.txtTargetPressure1.Text, out double pressure1))
|
target_pressure1 = pressure1;
|
|
if (double.TryParse(this.txtTargetPressure2.Text, out double pressure2))
|
target_pressure2 = pressure2;
|
|
var target_head1 = Curve.PumpCalculateHelper.Mpa2M(target_pressure1);
|
var target_head2 = Curve.PumpCalculateHelper.Mpa2M(target_pressure2);
|
|
var station_info = _service_station.Get();
|
if (station_info == null)
|
{
|
WaitHelper.HideWaitForm();
|
XtraMessageBox.Show("Station文件缺失!");
|
return;
|
}
|
|
var station1 = station_info.Station1;
|
var station2 = station_info.Station2;
|
var station1_same_type_flag_group_first = GlobalHelper.Station1SameTypeFlagGroupFirst;
|
var station2_same_type_flag_group_first = GlobalHelper.Station2SameTypeFlagGroupFirst;
|
var station1_schedule_config = _service_schedule_config.GetStation1();
|
var station2_schedule_config = _service_schedule_config.GetStation2();
|
var station1_flag_list = GlobalHelper.Station1FlagList;
|
var station2_flag_list = GlobalHelper.Station2FlagList;
|
|
GlobalHelper.GetStationOpenFlagList(zy_scada_list, out List<int> station1_open_flag_list, out List<int> station2_open_flag_list);
|
GlobalHelper.GetStationMaintenanceFlagList(zy_scada_list, out List<int> station1_maintenance_flag_list, out List<int> station2_maintenance_flag_list);
|
GlobalHelper.GetFlagInletWaterLevelDict(zy_scada_list, out Dictionary<int, double> station1_flag_inlet_water_level_dict, out Dictionary<int, double> station2_flag_inlet_water_level_dict);
|
|
if (station1_maintenance_flag_list != null && station1_maintenance_flag_list.Any())
|
{
|
station1_schedule_config.MustCloseFlagList.AddRange(station1_maintenance_flag_list);
|
}
|
if (station2_maintenance_flag_list != null && station2_maintenance_flag_list.Any())
|
{
|
station2_schedule_config.MustCloseFlagList.AddRange(station2_maintenance_flag_list);
|
}
|
|
var real_time_pump_schedule_vm_list_station1 = new List<RealTimePumpScheduleViewModel>();
|
var real_time_pump_schedule_vm_list_station2 = new List<RealTimePumpScheduleViewModel>();
|
|
var helper = new Algorithm.ScheduleHelper();
|
helper.Initial(station1_open_flag_list, station1_schedule_config);
|
var optimal_combine1 = helper.GetOptAnaCombine(station1, station1_same_type_flag_group_first, station1_flag_inlet_water_level_dict, target_flow1, target_head1);
|
|
foreach (var flag in GlobalHelper.Station1FlagList)
|
{
|
var pump_schedule_vm = new RealTimePumpScheduleViewModel();
|
pump_schedule_vm.Flag = flag;
|
|
var ana_fre_pump = optimal_combine1?.AnaFrePumps?.Find(x => x.Flag == flag);
|
if (ana_fre_pump != null)
|
{
|
pump_schedule_vm.RunStatus = 1;
|
pump_schedule_vm.InstantaneousFlow = ana_fre_pump.Flow;
|
pump_schedule_vm.OutletPressure = Curve.PumpCalculateHelper.M2Mpa(ana_fre_pump.Head);
|
pump_schedule_vm.RotateSpeed = ana_fre_pump.Speed;
|
pump_schedule_vm.ActivePower = ana_fre_pump.Power;
|
}
|
var vm = real_time_pump_scada_vm_list_station1.Find(x => x.Flag == flag);
|
pump_schedule_vm.Set(vm);
|
pump_schedule_vm.Round();
|
real_time_pump_schedule_vm_list_station1.Add(pump_schedule_vm);
|
}
|
|
helper.Initial(station2_open_flag_list, station2_schedule_config);
|
var optimal_combine2 = helper.GetOptAnaCombine(station2, station2_same_type_flag_group_first, station2_flag_inlet_water_level_dict, target_flow2, target_head2);
|
|
foreach (var flag in GlobalHelper.Station2FlagList)
|
{
|
var pump_schedule_vm = new RealTimePumpScheduleViewModel();
|
pump_schedule_vm.Flag = flag;
|
|
var ana_fre_pump = optimal_combine2?.AnaFrePumps?.Find(x => x.Flag == flag);
|
if (ana_fre_pump != null)
|
{
|
pump_schedule_vm.RunStatus = 1;
|
pump_schedule_vm.InstantaneousFlow = ana_fre_pump.Flow;
|
pump_schedule_vm.OutletPressure = Curve.PumpCalculateHelper.M2Mpa(ana_fre_pump.Head);
|
pump_schedule_vm.RotateSpeed = ana_fre_pump.Speed;
|
pump_schedule_vm.ActivePower = ana_fre_pump.Power;
|
}
|
|
var vm = real_time_pump_scada_vm_list_station2.Find(x => x.Flag == flag);
|
pump_schedule_vm.Set(vm);
|
pump_schedule_vm.Round();
|
real_time_pump_schedule_vm_list_station2.Add(pump_schedule_vm);
|
}
|
|
|
this.realTimePumpScheduleViewModelBindingSource.DataSource = real_time_pump_schedule_vm_list_station1;
|
this.realTimePumpScheduleViewModelBindingSource.ResetBindings(false);
|
this.gridView3.BestFitColumns();
|
|
this.realTimePumpScheduleViewModelBindingSource1.DataSource = real_time_pump_schedule_vm_list_station2;
|
this.realTimePumpScheduleViewModelBindingSource1.ResetBindings(false);
|
this.gridView4.BestFitColumns();
|
|
WaitHelper.HideWaitForm();
|
}
|
|
|
|
private void gridView3_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
|
{
|
if (e.Column == this.colRotateSpeedDiif)
|
{
|
if (e.CellValue != null)
|
{
|
var cell_value = e.CellValue.ToString() ?? string.Empty;
|
if (double.TryParse(cell_value, out double value))
|
{
|
if (Math.Abs(value) < 0)
|
{
|
e.Appearance.ForeColor = Color.Red;
|
}
|
else
|
{
|
e.Appearance.ForeColor = Color.Green;
|
}
|
}
|
}
|
}
|
}
|
|
private void gridView4_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
|
{
|
|
if (e.Column == this.colRotateSpeedDiif1)
|
{
|
if (e.CellValue != null)
|
{
|
var cell_value = e.CellValue.ToString() ?? string.Empty;
|
if (double.TryParse(cell_value, out double value))
|
{
|
if (Math.Abs(value) < 0)
|
{
|
e.Appearance.ForeColor = Color.Red;
|
}
|
else
|
{
|
e.Appearance.ForeColor = Color.Green;
|
}
|
}
|
}
|
}
|
|
}
|
|
|
|
}
|
}
|