/// <summary> /// Обработчик события - добавить Put-параметр /// </summary> /// <param name="obj">Объект - Put-параметр(дополнительный, в составе NAlg, элемент алгоритма расчета)</param> protected override void handlerDbTaskCalculate_onAddPutParameter(TepCommon.HandlerDbTaskCalculate.PUT_PARAMETER obj) { base.handlerDbTaskCalculate_onAddPutParameter(obj); // добавить свойства для строки таблицы со значениями m_dgvValues.AddPutParameter(obj); }
/// <summary> /// Добавить параметр алгоритма расчета 2-го порядка /// </summary> /// <param name="putPar">Параметр алгоритма расчета 2-го порядка (связаннй с компонентом станции)</param> public override void AddPutParameter(TepCommon.HandlerDbTaskCalculate.PUT_PARAMETER putPar) { base.AddPutParameter(putPar); if (m_dictTECComponent.ContainsKey(putPar.IdComponent) == false) { m_dictTECComponent.Add(putPar.IdComponent, putPar.m_component); } else { ; } }
/// <summary> /// Обработчик события - добавить Put-параметр /// </summary> /// <param name="obj">Объект - Put-параметр(дополнительный, в составе NAlg, элемент алгоритма расчета)</param> protected override void handlerDbTaskCalculate_onAddPutParameter(TepCommon.HandlerDbTaskCalculate.PUT_PARAMETER obj) { base.handlerDbTaskCalculate_onAddPutParameter(obj); m_dgvValues.AddPutParameter(obj); }
/// <summary> /// Добавить параметр алгоритма расчета, связанный с компонентом станции /// , добавляется только для древовидной структуры, управляющей включением/исключением из алгоритма расчета /// , для визуализации простой список параметров алгоритма расчета базовых /// </summary> /// <param name="putPar">Объект с описанием добавляемого параметра</param> public void AddPutParameter(TepCommon.HandlerDbTaskCalculate.PUT_PARAMETER putPar) { Control ctrl = find(INDEX_CONTROL.CLBX_COMP_CALCULATED); (ctrl as TreeViewTaskTepCalcParameters).AddItem(putPar.m_idNAlg, putPar.IdComponent, putPar.m_Id, putPar.NameShrComponent, putPar.IsEnabled); }
/// <summary> /// Обработчик события - добавить Put-параметр /// </summary> /// <param name="obj">Объект - Put-параметр(дополнительный, в составе NAlg, элемент алгоритма расчета)</param> protected override void handlerDbTaskCalculate_onAddPutParameter(TepCommon.HandlerDbTaskCalculate.PUT_PARAMETER obj) { base.handlerDbTaskCalculate_onAddPutParameter(obj); (PanelManagement as PanelManagementTaskTepOutVal).AddPutParameter(obj); }
public override void AddColumns(List <TepCommon.HandlerDbTaskCalculate.NALG_PARAMETER> listNAlgParameter , List <TepCommon.HandlerDbTaskCalculate.PUT_PARAMETER> listPutParameter) { DataGridViewColumn column; List <TepCommon.HandlerDbTaskCalculate.TECComponent> listTECComponent; TepCommon.HandlerDbTaskCalculate.TECComponent comp_tec; int beginColumnAddress = -1 // начальный индекс столбца //, countColumnBeforeAdding = -1 // количество столбцов перед добавлением ; //List<int> arColumnAddresses; string strFormula = string.Empty; // Функция поиска объекта 'PUT_PARAMETER' для его назначения в свойство 'Tag' для добавляемого столбца Func <HandlerDbTaskCalculate.TaskCalculate.TYPE, int, TepCommon.HandlerDbTaskCalculate.IPUT_PARAMETERChange> findPutParameterGTP = (HandlerDbTaskCalculate.TaskCalculate.TYPE type, int id) => { TepCommon.HandlerDbTaskCalculate.IPUT_PARAMETERChange putRes = new TepCommon.HandlerDbTaskCalculate.PUT_PARAMETER(); IEnumerable <TepCommon.HandlerDbTaskCalculate.PUT_PARAMETER> puts; TepCommon.HandlerDbTaskCalculate.NALG_PARAMETER nAlgRes = null; puts = listPutParameter.Where(putPar => { return(putPar.IdComponent == id); }); if (puts.Count() > 0) { foreach (TepCommon.HandlerDbTaskCalculate.PUT_PARAMETER putPar in puts) { nAlgRes = listNAlgParameter.FirstOrDefault(nAlg => { return((nAlg.m_Id == putPar.m_idNAlg) && (nAlg.m_type == type)); }); if (!(nAlgRes == null)) { putRes = putPar; break; } else { ; } } } else { // ошибка на 1-ом этапе - возвращается объект по умолчанию (IsNaN == true) ; } return(putRes); }; listTECComponent = new List <TepCommon.HandlerDbTaskCalculate.TECComponent>(); listPutParameter.ForEach(putPar => { if (listTECComponent.FindAll(comp => { return(comp.m_Id == putPar.m_component.m_Id); }).Count == 0) { listTECComponent.Add(putPar.m_component); } else { ; } }); // сортировать ГТП: сначала 1,2 затем 3-6 listTECComponent.Sort(delegate(TepCommon.HandlerDbTaskCalculate.TECComponent comp1, TepCommon.HandlerDbTaskCalculate.TECComponent comp2) { return(comp1.m_Id <comp2.m_Id ? -1 : comp1.m_Id> comp2.m_Id ? 1 : 0); }); //ГТП - Корректировка ПТО // начальный индекс столбца при экспорте beginColumnAddress = 2; listTECComponent.ForEach(comp => { if (comp.IsGtp == true) { column = new DataGridViewTextBoxColumn(); column.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; column.Name = string.Format(@"COLUMN_CORRECT_{0}", comp.m_Id); column.HeaderText = string.Format(@"Корр-ка ПТО {0}", comp.m_nameShr); column.Tag = new COLUMN_TAG(findPutParameterGTP(HandlerDbTaskCalculate.TaskCalculate.TYPE.IN_VALUES, comp.m_Id) , beginColumnAddress++ , false); column.ReadOnly = false; Columns.Add(column); } else { ; } }); //ГТП - Значения (без корректировки) listTECComponent.ForEach(comp => { if (comp.IsGtp == true) { column = new DataGridViewTextBoxColumn(); column.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; column.Name = string.Format(@"COLUMN_VALUE_{0}", comp.m_Id); column.HeaderText = string.Format(@"По прибору {0}", comp.m_nameShr); column.Tag = new COLUMN_TAG(findPutParameterGTP(HandlerDbTaskCalculate.TaskCalculate.TYPE.OUT_VALUES, comp.m_Id) , -1 , false); column.Visible = false; column.ReadOnly = true; Columns.Add(column); } else { ; } }); //ГТП - Значения по прибору учета с учетом корректрировки beginColumnAddress = 4; listTECComponent.ForEach(comp => { if (comp.IsGtp == true) { column = new DataGridViewTextBoxColumn(); column.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; column.Name = string.Format(@"CORRECT_VALUE_{0}", comp.m_Id); column.HeaderText = string.Format(@"+ коррект. {0}", comp.m_nameShr); column.Tag = new COLUMN_TAG(new FormulaHelper(string.Format("COLUMN_CORRECT_{0}+COLUMN_VALUE_{0}", comp.m_Id)) , beginColumnAddress++ , false); column.ReadOnly = true; Columns.Add(column); } else { ; } }); //Станция - компонент beginColumnAddress = 6; comp_tec = listTECComponent.Find(comp => { return(comp.IsTec); }); //Станция - Значения - ежесуточные column = new DataGridViewTextBoxColumn(); column.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; column.Name = string.Format(@"COLUMN_ST_DAY_{0}", comp_tec.m_Id); column.HeaderText = string.Format(@"{0} значения", comp_tec.m_nameShr); listTECComponent.ForEach(comp => { if (comp.IsGtp == true) { strFormula += string.Format(@"{0}CORRECT_VALUE_{1}", string.IsNullOrEmpty(strFormula) == true ? string.Empty : @"+", comp.m_Id); } else { } }); column.Tag = //findPutParameterGTP(HandlerDbTaskCalculate.TaskCalculate.TYPE.OUT_VALUES, comp_tec.m_Id) new COLUMN_TAG(new FormulaHelper(strFormula) , beginColumnAddress , false); ; Columns.Add(column); //Станция - Значения - нарастающие beginColumnAddress = 7; column = new DataGridViewTextBoxColumn(); column.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; column.Name = string.Format(@"COLUMN_ST_SUM_{0}", comp_tec.m_Id); column.HeaderText = string.Format(@"{0} нараст.", comp_tec.m_nameShr); column.Tag = //ToolsHelper.Compiler.Compile(ToolsHelper.Parser.Parse(string.Format("INC(COLUMN_ST_DAY_{0})", comp_tec.m_Id))) new COLUMN_TAG(new FormulaHelper(string.Format("SUMM({0})", string.Format(@"COLUMN_ST_DAY_{0}", comp_tec.m_Id))) , beginColumnAddress , true) ; column.ReadOnly = true; Columns.Add(column); //Станция - План - ежесуточный beginColumnAddress = -1; column = new DataGridViewTextBoxColumn(); column.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; column.Name = string.Format(@"COLUMN_PLAN_DAY_{0}", comp_tec.m_Id); column.HeaderText = string.Format(@"План сутки"); column.Tag = new COLUMN_TAG(findPutParameterGTP(HandlerDbTaskCalculate.TaskCalculate.TYPE.IN_VALUES, comp_tec.m_Id) , beginColumnAddress , false); column.ReadOnly = true; column.Visible = false; Columns.Add(column); //Станция - План - ежесуточный - накапливаемый beginColumnAddress = 8; column = new DataGridViewTextBoxColumn(); column.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; column.Name = string.Format(@"COLUMN_PLAN_SUM_{0}", comp_tec.m_Id); column.HeaderText = string.Format(@"План нараст."); column.Tag = new COLUMN_TAG(new FormulaHelper(string.Format("SUMM({0})", string.Format(@"COLUMN_PLAN_DAY_{0}", comp_tec.m_Id))) , beginColumnAddress , true); column.ReadOnly = true; Columns.Add(column); //Станция - План - отклонение beginColumnAddress = 9; column = new DataGridViewTextBoxColumn(); column.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; column.Name = string.Format(@"COLUMN_PLAN_DEV_{0}", comp_tec.m_Id); column.HeaderText = string.Format(@"План отклон."); column.Tag = new COLUMN_TAG(new FormulaHelper(string.Format("COLUMN_ST_SUM_{0}-COLUMN_PLAN_SUM_{0}", comp_tec.m_Id)) , beginColumnAddress , true); column.ReadOnly = true; Columns.Add(column); }
private void addColumn(TepCommon.HandlerDbTaskCalculate.NALG_PARAMETER nAlgPar, TepCommon.HandlerDbTaskCalculate.PUT_PARAMETER putPar) { DataGridViewTextBoxColumn column; column = new DataGridViewTextBoxColumn(); column.Name = @"VALUE"; column.HeaderText = @"Значения"; column.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; column.CellTemplate.Style.Alignment = DataGridViewContentAlignment.MiddleRight; // номер столбца в соответствии с шаблоном книги MS Excel при экспорте column.Tag = new COLUMN_TAG(putPar, ColumnCount + 2, false); // 'Tag' присваивается ДО добавления в коллекцию Columns.Add(column); }
/// <summary> /// Добавить столбец /// </summary> /// <param name="text">Текст для заголовка столбца</param> /// <param name="bRead">флаг изменения пользователем ячейки</param> /// <param name="nameCol">имя столбца</param> /// <param name="idPut">индентификатор источника</param> public void AddColumn(string txtHeader, bool bRead, string nameCol, string N_ALG, bool bInPut, int Tag, TepCommon.HandlerDbTaskCalculate.PUT_PARAMETER putPar) { HDataGridViewColumn column; DataGridViewContentAlignment alignText = DataGridViewContentAlignment.NotSet; DataGridViewAutoSizeColumnMode autoSzColMode = DataGridViewAutoSizeColumnMode.NotSet; try { column = new HDataGridViewColumn() { m_bCalcDeny = false, m_N_ALG = N_ALG, m_bInPut = bInPut }; alignText = DataGridViewContentAlignment.MiddleLeft; autoSzColMode = DataGridViewAutoSizeColumnMode.Fill; column.ReadOnly = bRead; column.Name = nameCol; column.HeaderText = txtHeader; column.DefaultCellStyle.Alignment = alignText; column.AutoSizeMode = autoSzColMode; column.Tag = new COLUMN_TAG(putPar, ColumnCount + 2, false); Columns.Add(column as DataGridViewTextBoxColumn); } catch (Exception e) { Logging.Logg().Exception(e, @"DGVAutoBook::AddColumn () - ...", Logging.INDEX_MESSAGE.NOT_SET); } }