Пример #1
0
        private void BtnPreview_Repair_Click(object sender, EventArgs e)
        {
            Tchart_RepairTrend.Show();
            Grid_DailyData.Hide();
            if (RepairConf.Channel != null)
            {
                Tchart_RepairTrend.Axes.Bottom.Labels.DateTimeFormat = "yyyy\nM.d";
                Tchart_RepairTrend.Series.Clear();
                var     overrideConf = RepairConf.Channel.Overrides.Where(x => x.OverrideName.Equals(RepairConf.AlarmReferenceName)).FirstOrDefault();
                float[] alarms       = null;
                if (overrideConf != null)
                {
                    alarms = overrideConf.AlarmValues;
                    AddAlarmLineToTrendChart(alarms, Tchart_RepairTrend, true);
                }
                switch ((ScaleType)RepairConf.ScaleTypeIdx)
                {
                case ScaleType.Auto:
                    Tchart_RepairTrend.Axes.Left.AutomaticMaximum = true;
                    break;

                case ScaleType.Alarm:
                    Tchart_RepairTrend.Axes.Left.AutomaticMaximum = false;
                    if (alarms != null)
                    {
                        Tchart_RepairTrend.Axes.Left.Maximum = alarms.Last();
                    }
                    break;

                case ScaleType.Custom:
                    Tchart_RepairTrend.Axes.Left.AutomaticMaximum = false;
                    Tchart_RepairTrend.Axes.Left.Maximum          = RepairConf.MaxScale;
                    break;
                }
                Tchart_RepairTrend.Header.Lines = new string[] { RepairConf.Channel.PointName };
                colorBand1.Start     = RepairConf.BeforeRepairDate.ToOADate();
                colorBand1.End       = RepairConf.AfterRepairDate.ToOADate();
                RepairConf.StartDate = RepairConf.BeforeRepairDate.AddDays(-1 * RepairConf.RepairOffsetDay);
                RepairConf.EndDate   = RepairConf.AfterRepairDate.AddDays(RepairConf.RepairOffsetDay);
                foreach (var dataTable in DBConn.LoadRepairData(RepairConf))
                {
                    FastLine fastline = new FastLine()
                    {
                        Title = dataTable.TableName
                    };
                    Tchart_RepairTrend.Series.Add(fastline);
                    foreach (DataRow data in dataTable.Rows)
                    {
                        fastline.Add((DateTime)data.ItemArray[0], Convert.ToDouble(data.ItemArray[1]));
                    }
                }
            }
        }
Пример #2
0
 private void BtnPreview_PeriodDays_Click(object sender, EventArgs e)
 {
     Tchart_RepairTrend.Hide();
     Grid_DailyData.Show();
 }