/// <summary> /// Метод добавления колонок в DataGridView + заполнение значениями ячеек /// </summary> /// <param name="date">Дата отображаемых значений</param> /// <param name="bNewValues">Признак наличия новых значений (false - обновление оформления представления при изменении цветовой схемы)</param> /// <param name="bSyncReq">Признак необходимости синхронизации по окончании выполнения метода</param> private void addTextBoxColumn(DateTime date, bool bNewValues, bool bSyncReq) { int indx = ((AdminTS_LK)m_admin).indxTECComponents; //((AdminTS_LK)m_admin).set_CurComponent(0, m_admin.m_curDate); //indx = ((AdminTS_LK)m_admin).m_listTECComponentIndexDetail[this.dgwAdminTable.Columns.Count - ((int)DataGridViewAdminLK.DESC_INDEX.COUNT_COLUMN)]; Color dgwBackColor; dgwBackColor = this.dgwAdminTable.BackColor; if (m_admin.GetIdTECComponent(indx) > (int)TECComponent.ID.TG) { // новый столбец ((DataGridViewAdminLK)this.dgwAdminTable).AddTextBoxColumn(m_admin.GetNameTECComponent(indx), m_admin.GetIdTECComponent(indx), m_admin.GetIdGTPOwnerTECComponent(indx), date); for (int i = 0; i < 24; i++) { //Дата/время if (this.dgwAdminTable.Columns.Count == ((int)DataGridViewAdminLK.DESC_INDEX.COUNT_COLUMN + 1)) //Только при добавлении 1-го столбца this.dgwAdminTable.Rows[i].Cells[0].Value = date.AddHours(i + 1).ToString(@"dd-MM-yyyy HH:mm", CultureInfo.InvariantCulture); else ; // цвет 0-го столбца изменяем всегда, на случай изменения цветовой гаммы приложения this.dgwAdminTable.Rows [i].Cells [0].Style.BackColor = dgwBackColor; try { this.dgwAdminTable.Rows[i].Cells[this.dgwAdminTable.Columns.Count - 4].Value = ((AdminTS_LK)m_admin).m_listCurRDGValues[indx][i].pbr.ToString("F2"); this.dgwAdminTable.Rows [i].Cells [this.dgwAdminTable.Columns.Count - 4].Style.BackColor = dgwBackColor; } catch (Exception e) { Logging.Logg().Warning(string.Format("PanelAdminLK : addTextBoxColumn () - нет листа с суточными значениями(снова потерян индекс): {0}", e.Message) , Logging.INDEX_MESSAGE.NOT_SET); } ((DataGridViewAdminLK)this.dgwAdminTable).DataGridViewAdminLK_CellValueChanged(null , new DataGridViewCellEventArgs(this.dgwAdminTable.Columns.Count - 4, i)); } visibleControlRDGExcel(((AdminTS_LK)m_admin).GetIdTECOwnerTECComponent(indx)); } else ; if ((m_admin.GetIdTECComponent(indx) > (int)TECComponent.ID.GTP) && (m_admin.GetIdTECComponent(indx) < (int)TECComponent.ID.PC)) { for (int i = 0; i < 24; i++) { //Дата/время if (this.dgwAdminTable.Columns.Count == ((int)DataGridViewAdminLK.DESC_INDEX.COUNT_COLUMN + 1)) { //Только при добавлении 1-го столбца this.dgwAdminTable.Rows [i].Cells [0].Value = date.AddHours (i + 1).ToString (@"dd-MM-yyyy HH:mm", CultureInfo.InvariantCulture); } else ; // цвет 0-го столбца изменяем на случай изменения цветовой гаммы приложения this.dgwAdminTable.Rows [i].Cells [0].Style.BackColor = dgwBackColor; try { this.dgwAdminTable.Rows[i].Cells[(int)DataGridViewAdminLK.DESC_INDEX.PLAN_POWER].Value = ((AdminTS_LK)m_admin).m_listCurRDGValues[indx][i].pbr.ToString("F2"); this.dgwAdminTable.Rows [i].Cells [(int)DataGridViewAdminLK.DESC_INDEX.PLAN_POWER].Style.BackColor = dgwBackColor; this.dgwAdminTable.Rows[i].Cells[(int)DataGridViewAdminLK.DESC_INDEX.PLAN_TEMPERATURE].Value = ((AdminTS_LK)m_admin).m_listCurRDGValues[indx][i].pmin.ToString("F2"); this.dgwAdminTable.Rows [i].Cells [(int)DataGridViewAdminLK.DESC_INDEX.PLAN_TEMPERATURE].Style.BackColor = dgwBackColor; this.dgwAdminTable.Rows[i].Cells[dgwAdminTable.Columns.Count - 3].Value = (bool)(((AdminTS_LK)m_admin).m_listCurRDGValues[indx][i].deviationPercent); this.dgwAdminTable.Rows [i].Cells [dgwAdminTable.Columns.Count - 3].Style.BackColor = dgwBackColor; this.dgwAdminTable.Rows[i].Cells[dgwAdminTable.Columns.Count - 2].Value = ((AdminTS_LK)m_admin).m_listCurRDGValues[indx][i].deviation.ToString("F2"); this.dgwAdminTable.Rows [i].Cells [dgwAdminTable.Columns.Count - 2].Style.BackColor = dgwBackColor; } catch (Exception e) { Logging.Logg().Warning(string.Format("PanelAdminLK : addTextBoxColumn - нет листа с суточными значениями(снова потерян индекс): {0}", e.Message) , Logging.INDEX_MESSAGE.NOT_SET); } ((DataGridViewAdminLK)this.dgwAdminTable).DataGridViewAdminLK_CellValueChanged(null , new DataGridViewCellEventArgs (this.dgwAdminTable.Columns.Count - 4, i)); } } if (bNewValues == true) { m_admin.CopyCurToPrevRDGValues (); ((AdminTS_LK)m_admin).m_listPrevRDGValues.Add (m_admin.m_prevRDGValues); } else ; if (bSyncReq == true) ((AdminTS_LK)m_admin).m_semaIndxTECComponents.Release (); else ; }