/// <summary> /// Обработчик события - изменение состояния элемента 'CheckedListBox' /// </summary> /// <param name="obj">Объект, инициировавший событие</param> /// <param name="ev">Аргумент события, описывающий состояние элемента</param> protected override void panelManagement_onItemCheck(PanelManagementReaktivka.ItemCheckedParametersEventArgs ev) { int idItem = -1; //??? Отправить сообщение главной форме об изменении/сохранении индивидуальных настроек // или в этом же плюгИне измененить/сохраннить индивидуальные настройки //m_dictProfile.SetAttribute(); //Изменить структуру 'DataGridView' (m_dgvValues as DataGridViewValuesReaktivka).UpdateStructure(ev); }
/// <summary> /// Обработчик события - изменение состояния элемента 'CheckedListBox' /// </summary> /// <param name="obj">Объект, инициировавший событие</param> /// <param name="ev">Аргумент события, описывающий состояние элемента</param> protected override void panelManagement_onItemCheck(PanelManagementReaktivka.ItemCheckedParametersEventArgs ev) { int idItem = -1; ////Изменить признак состояния компонента ТЭЦ/параметра алгоритма расчета //if (ev.NewCheckState == CheckState.Unchecked) // if (m_arListIds[(int)ev.m_indxId].IndexOf(idItem) < 0) // m_arListIds[(int)ev.m_indxId].Add(idItem); // else; //throw new Exception (@""); //else // if (ev.NewCheckState == CheckState.Checked) // if (!(m_arListIds[(int)ev.m_indxId].IndexOf(idItem) < 0)) // m_arListIds[(int)ev.m_indxId].Remove(idItem); // else; //throw new Exception (@""); //else; //??? Отправить сообщение главной форме об изменении/сохранении индивидуальных настроек // или в этом же плюгИне измененить/сохраннить индивидуальные настройки //m_dictProfile.SetAttribute(); //Изменить структуру 'DataGridView' (m_dgvValues as DataGridViewValuesReaktivka).UpdateStructure(ev); }
///// <summary> ///// Очищение отображения от значений ///// </summary> //public void ClearValues() //{ // //CellValueChanged -= onCellValueChanged; // foreach (DataGridViewRow r in Rows) // foreach (DataGridViewCell c in r.Cells) // if (r.Cells.IndexOf(c) > ((int)INDEX_SERVICE_COLUMN.COUNT - 1)) // нельзя удалять идентификатор параметра // c.Value = string.Empty; // //??? если установить 'true' - редактирование невозможно // //ReadOnly = false; // //CellValueChanged += new DataGridViewCellEventHandler(onCellValueChanged); //} ///// <summary> ///// Добавить строку в таблицу ///// </summary> //public void AddRow(ROW_PROPERTY rowProp) //{ // int i = -1; // // создать строку // DataGridViewRow row = new DataGridViewRow(); // if (m_dictPropertiesRows == null) // m_dictPropertiesRows = new Dictionary<int, ROW_PROPERTY>(); // if (!m_dictPropertiesRows.ContainsKey(rowProp.m_idAlg)) // m_dictPropertiesRows.Add(rowProp.m_idAlg, rowProp); // // добавить строку // i = Rows.Add(row); // // установить значения в ячейках для служебной информации // Rows[i].Cells[(int)INDEX_SERVICE_COLUMN.DATE].Value = rowProp.m_Value; // Rows[i].Cells[(int)INDEX_SERVICE_COLUMN.ALG].Value = rowProp.m_idAlg; // // инициализировать значения в служебных ячейках // m_dictPropertiesRows[rowProp.m_idAlg].InitCells(Columns.Count); //} ///// <summary> ///// Добавить строку в таблицу ///// </summary> //public void AddRow(ROW_PROPERTY rowProp, int DaysInMonth) //{ // int i = -1; // // создать строку // DataGridViewRow row = new DataGridViewRow(); // if (m_dictPropertiesRows == null) // m_dictPropertiesRows = new Dictionary<int, ROW_PROPERTY>(); // if (!m_dictPropertiesRows.ContainsKey(rowProp.m_idAlg)) // m_dictPropertiesRows.Add(rowProp.m_idAlg, rowProp); // // добавить строку // i = Rows.Add(row); // // установить значения в ячейках для служебной информации // Rows[i].Cells[(int)INDEX_SERVICE_COLUMN.DATE].Value = rowProp.m_Value; // // инициализировать значения в служебных ячейках // //m_dictPropertiesRows[rowProp.m_idAlg].InitCells(Columns.Count); // if (i == DaysInMonth) // foreach (HDataGridViewColumn col in Columns) // Rows[i].Cells[col.Index].ReadOnly = true;//блокировка строк //} /// <summary> /// Обновить структуру таблицы /// </summary> /// <param name="indxDeny">Индекс элемента в массиве списков с отмененными для расчета/отображения компонентами ТЭЦ/параметрами алгоритма расчета</param> /// <param name="id">Идентификатор элемента (компонента/параметра)</param> /// <param name="bCheckedItem">Признак участия в расчете/отображения</param> public void UpdateStructure(PanelManagementReaktivka.ItemCheckedParametersEventArgs item) { Color clrCell = Color.Empty; //Цвет фона для ячеек, не участвующих в расчете int indx = -1 , cIndx = -1 , rKey = -1; bool bItemChecked = item.NewCheckState == CheckState.Checked ? true : item.NewCheckState == CheckState.Unchecked ? false : false; //Поиск индекса элемента отображения if (item.m_type == PanelManagementTaskCalculate.ItemCheckedParametersEventArgs.TYPE.VISIBLE) { if (item.IsComponent == true) { // найти индекс столбца (компонента) - по идентификатору foreach (DataGridViewColumn c in Columns) { if (((HandlerDbTaskCalculate.PUT_PARAMETER)c.Tag).IdComponent == item.m_idComp) { indx = Columns.IndexOf(c); break; } else { ; } } } else { //??? рассмотреть другие случаи (NAlg, Put) ; } } else { //??? рассмотреть другие случаи (ENABLE) ; } if (!(indx < 0)) { if (item.m_type == PanelManagementTaskCalculate.ItemCheckedParametersEventArgs.TYPE.VISIBLE) // VISIBLE { if (item.IsComponent == true) // COMPONENT { cIndx = indx; // для всех ячеек в столбце Columns[cIndx].Visible = bItemChecked; } else { //??? рассмотреть другие случаи (NAlg, Put) ; } } else { //??? рассмотреть другие случаи (ENABLE) ; } } else { // нет элемента для изменения стиля ; } }
/// <summary> /// Обновить структуру таблицы /// </summary> /// <param name="indxDeny">Индекс элемента в массиве списков с отмененными для расчета/отображения компонентами ТЭЦ/параметрами алгоритма расчета</param> /// <param name="id">Идентификатор элемента (компонента/параметра)</param> /// <param name="bCheckedItem">Признак участия в расчете/отображения</param> public void UpdateStructure(PanelManagementReaktivka.ItemCheckedParametersEventArgs item) { Color clrCell = Color.Empty; //Цвет фона для ячеек, не участвующих в расчете int indx = -1 , cIndx = -1 , rKey = -1; bool bItemChecked = item.m_newCheckState == CheckState.Checked ? true : item.m_newCheckState == CheckState.Unchecked ? false : false; //Поиск индекса элемента отображения switch (item.m_indxIdDeny) { case INDEX_ID.DENY_COMP_VISIBLED: // найти индекс столбца (компонента) - по идентификатору foreach (HDataGridViewColumn c in Columns) { if (c.m_iIdComp == item.m_idItem) { indx = Columns.IndexOf(c); break; } } break; default: break; } if (!(indx < 0)) { switch (item.m_indxIdDeny) { //case INDEX_ID.DENY_COMP_CALCULATED: // cIndx = indx; // // для всех ячеек в столбце // foreach (DataGridViewRow r in Rows) // { // indx = Rows.IndexOf(r); // if (getClrCellToComp(cIndx, indx, bItemChecked, out clrCell) == true) // r.Cells[cIndx].Style.BackColor = clrCell; // else // ; // } // (Columns[cIndx] as HDataGridViewColumn).m_bCalcDeny = !bItemChecked; // break; //case INDEX_ID.DENY_PARAMETER_CALCULATED: // rKey = (int)Rows[indx].Cells[(int)INDEX_SERVICE_COLUMN.ID_ALG].Value; // // для всех ячеек в строке // foreach (DataGridViewCell c in Rows[indx].Cells) // { // cIndx = Rows[indx].Cells.IndexOf(c); // if (getClrCellToParameter(cIndx, indx, bItemChecked, out clrCell) == true) // c.Style.BackColor = clrCell; // else // ; // m_dictPropertiesRows[rKey].m_arPropertiesCells[cIndx].m_bCalcDeny = !bItemChecked; // } // break; case INDEX_ID.DENY_COMP_VISIBLED: cIndx = indx; // для всех ячеек в столбце Columns[cIndx].Visible = bItemChecked; break; //case INDEX_ID.DENY_PARAMETER_VISIBLED: // // для всех ячеек в строке // Rows[indx].Visible = bItemChecked; // break; //default: // break; } } else { ; // нет элемента для изменения стиля } }