public void RefreshData(CLDC_DataCore.Model.DnbModel.DnbGroupInfo meterGroup, int CheckOrderID) { this.RefreshGrid(meterGroup, CheckOrderID); Data_LoadRecord.Enabled = true; CLDC_DataCore.Struct.StPlan_LoadRecord _Item = (CLDC_DataCore.Struct.StPlan_LoadRecord)meterGroup.CheckPlan[CheckOrderID]; bool bFind = false; if (Tab_EventLog.TabPages.Count > 1) //如果Tab的页数大于1,那表示存在动态增加的数据页 { if (Data_LoadRecord.Tag != null && Data_LoadRecord.Tag.ToString() == _Item.PrjID) { bFind = true; } else { for (int i = Tab_EventLog.TabPages.Count - 1; i > 0; i--) { Tab_EventLog.TabPages.RemoveAt(i); } bFind = false; } } if (!bFind) { Data_LoadRecord.Tag = _Item.PrjID; //将ID值放到数据列表的Tag中,供数据刷新使用 switch (_Item.PrjID) { case "001": { Tab_EventLog.TabPages.Add("负荷记录数据"); CLDC_MeterUI.UI_Detection_New.LoadRecordDataView.ViewLoadRecord _View = new CLDC_MeterUI.UI_Detection_New.LoadRecordDataView.ViewLoadRecord(); Tab_EventLog.TabPages[1].Controls.Add(_View); _View.Dock = DockStyle.Fill; _View.Margin = new System.Windows.Forms.Padding(0); break; } } } }
/// <summary> /// 数据刷新 /// </summary> /// <param name="MeterGroup">电能表数据集合</param> /// <param name="CheckOrderID">当前检定点</param> private void RefreshGrid(CLDC_DataCore.Model.DnbModel.DnbGroupInfo MeterGroup, int CheckOrderID) { CLDC_DataCore.Struct.StPlan_LoadRecord _Item = (CLDC_DataCore.Struct.StPlan_LoadRecord)MeterGroup.CheckPlan[CheckOrderID]; bool bFind = false; if (Tab_EventLog.TabPages.Count > 1) //如果Tab的页数大于1,那表示存在动态增加的数据页 { if (Data_LoadRecord.Tag != null && Data_LoadRecord.Tag.ToString() == _Item.PrjID) { bFind = true; } else { for (int i = Tab_EventLog.TabPages.Count - 1; i > 0; i--) { Tab_EventLog.TabPages.RemoveAt(i); } bFind = false; } } if (!bFind) { Data_LoadRecord.Tag = _Item.PrjID; //将ID值放到数据列表的Tag中,供数据刷新使用 switch (_Item.PrjID) { case "001": { Tab_EventLog.TabPages.Add("负荷记录数据"); CLDC_MeterUI.UI_Detection_New.LoadRecordDataView.ViewLoadRecord _View = new CLDC_MeterUI.UI_Detection_New.LoadRecordDataView.ViewLoadRecord(); Tab_EventLog.TabPages[1].Controls.Add(_View); _View.Dock = DockStyle.Fill; _View.Margin = new System.Windows.Forms.Padding(0); break; } } } for (int i = 0; i < MeterGroup.MeterGroup.Count; i++) { CLDC_DataCore.Model.DnbModel.DnbInfo.MeterBasicInfo _MeterInfo = MeterGroup.MeterGroup[i]; DataGridViewRow Row = Data_LoadRecord.Rows[i]; //表位号 Row.Cells[1].Value = _MeterInfo.ToString(); if (!_MeterInfo.YaoJianYn) { Row.Cells[0].Value = false; if (_MeterInfo.Mb_chrBcs == String.Empty || _MeterInfo.Mb_chrBdj == String.Empty) //如果不检,并且常数或者等级都为空,则将勾选单元格设置为只读 { Row.Cells[0].ReadOnly = true; } for (int j = 2; j < Row.Cells.Count; j++) { Row.Cells[j].Value = string.Empty; } continue; } Row.Cells[0].Value = true; Row.Cells[2].Value = _Item.ToString(); if (Data_LoadRecord.Tag == null) { return; } if (_MeterInfo.MeterLoadRecords == null) { _MeterInfo.MeterLoadRecords = new Dictionary <string, CLDC_DataCore.Model.DnbModel.DnbInfo.MeterLoadRecord>(); } if (_MeterInfo.MeterLoadRecords.ContainsKey(Data_LoadRecord.Tag.ToString())) //如果数据中存在值那么久需要插入数据,这个地方插的值都是合格或者不合格,因为取的都是大编号,不是带具体值的小编号 { Row.Cells[3].Value = "100%"; Row.Cells[4].Value = _MeterInfo.MeterLoadRecords[Data_LoadRecord.Tag.ToString()].Ml_Result; } else { //_Row.DefaultCellStyle.ForeColor = Color.Black; Row.Cells[4].Value = ""; } if (_MeterInfo.Mb_Result == CLDC_DataCore.Const.Variable.CTG_BuHeGe) { Row.DefaultCellStyle.ForeColor = Color.Red; } else { Row.DefaultCellStyle.ForeColor = Color.Black; } } if (Tab_EventLog.TabPages.Count != 2) { return; //如果没有附加数据页则返回 } Control _Control = Tab_EventLog.TabPages[1].Controls[0]; if (_Control is CLDC_MeterUI.UI_Detection_New.LoadRecordDataView.ViewLoadRecord) { ((CLDC_MeterUI.UI_Detection_New.LoadRecordDataView.ViewLoadRecord)_Control).SetData(MeterGroup.MeterGroup); return; } }