/// <summary> /// 刷新表单数据 /// </summary> /// <param name="MeterGroup"></param> public void SetData(List <CLDC_DataCore.Model.DnbModel.DnbInfo.MeterBasicInfo> MeterGroup) { string strValue = ""; string[] arrParam = null; m_intGlfx = cmb_Type.SelectedIndex; if (CLDC_DataCore.Const.GlobalUnit.g_CUS == null) { return; } int intSchemeCount = CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.CheckPlan.Count; CLDC_DataCore.Struct.StPlan_Function _Item = new CLDC_DataCore.Struct.StPlan_Function(); for (int intInc = 0; intInc < intSchemeCount; intInc++) { if (GlobalUnit.g_CUS.DnbData.CheckPlan[intInc] is CLDC_DataCore.Struct.StPlan_Function) { if (((CLDC_DataCore.Struct.StPlan_Function)GlobalUnit.g_CUS.DnbData.CheckPlan[intInc]).FunctionPrjID == Key) { _Item = (CLDC_DataCore.Struct.StPlan_Function)GlobalUnit.g_CUS.DnbData.CheckPlan[intInc]; } } } if (_Item.PrjParm == null) { return; } if (_Item.PrjParm.Length < 1) { return; } arrParam = _Item.PrjParm.Split('|'); if (arrParam.Length < 3) { return; } m_intTestNum = int.Parse(arrParam[1]); if (Data_View == null) { return; } if (Data_View.Columns.Count == 0 || MeterGroup.Count == 0) { return; } if (Data_View.Rows.Count != MeterGroup.Count * (m_intTestNum + 1)) //如果当前数据表单行数小于电能表表位数,则需要重新创建对应数据表单 { Data_View.Rows.Clear(); for (int intIna = 0; intIna < MeterGroup.Count; intIna++) { for (int intInb = 0; intInb <= m_intTestNum; intInb++) { int RowIndex = Data_View.Rows.Add(); if ((RowIndex + 1) % 2 == 0) { Data_View.Rows[RowIndex].DefaultCellStyle.BackColor = CLDC_DataCore.Const.Variable.Color_Grid_Alter; } else { Data_View.Rows[RowIndex].DefaultCellStyle.BackColor = CLDC_DataCore.Const.Variable.Color_Grid_Normal; } Data_View.Rows[RowIndex].HeaderCell.Value = MeterGroup[intIna].ToString(); Data_View.Rows[RowIndex].Cells[0].Value = MeterGroup[intIna].ToString(); if (intInb == 0) { strValue = "当前"; } else { strValue = string.Format("上{0}次", intInb); } Data_View.Rows[RowIndex].Cells[1].Value = strValue; } } Data_View.Refresh(); } for (int intIna = 0; intIna < MeterGroup.Count; intIna++) { for (int intCurrentNum = 0; intCurrentNum <= m_intTestNum; intCurrentNum++) { string _Key = Key + m_intGlfx.ToString("D2") + intCurrentNum.ToString("D2"); if (!MeterGroup[intIna].YaoJianYn) { continue; } int intRowIndex = intIna * (m_intTestNum + 1) + intCurrentNum; if (!MeterGroup[intIna].MeterFunctions.ContainsKey(_Key)) { for (int k = 0; k < 9; k++) { Data_View.Rows[intRowIndex].Cells[k + 2].Value = ""; } continue; } if (MeterGroup[intIna].MeterFunctions[_Key].Mf_chrValue == null || MeterGroup[intIna].MeterFunctions[_Key].Mf_chrValue == string.Empty) { continue; } string[] arrValue = null; string[] arrEnergy = null; if (MeterGroup[intIna].MeterFunctions[_Key].Mf_chrValue.IndexOf(',') == -1) { continue; } arrValue = MeterGroup[intIna].MeterFunctions[_Key].Mf_chrValue.Split(','); if (arrValue.Length < 5) { continue; } Data_View.Rows[intRowIndex].Cells[2].Value = arrValue[0]; Data_View.Rows[intRowIndex].Cells[3].Value = arrValue[1]; Data_View.Rows[intRowIndex].Cells[4].Value = arrValue[2]; Data_View.Rows[intRowIndex].Cells[5].Value = arrValue[3]; arrEnergy = arrValue[4].Split('|'); if (arrEnergy.Length < 5) { continue; } for (int k = 0; k < arrEnergy.Length; k++) { Data_View.Rows[intRowIndex].Cells[k + 6].Value = arrEnergy[k]; } } } }
/// <summary> /// 刷新数据事件 /// </summary> /// <param name="meterGroup"></param> /// <param name="taiType"></param> /// <param name="taiId"></param> public void RefreshData(CLDC_DataCore.Model.DnbModel.DnbGroupInfo meterGroup, int CheckOrderID) { if (!(meterGroup.CheckPlan[CheckOrderID] is CLDC_DataCore.Struct.StPlan_Function)) { return; } CLDC_DataCore.Struct.StPlan_Function _Item = (CLDC_DataCore.Struct.StPlan_Function)meterGroup.CheckPlan[CheckOrderID]; bool bFind = false; if (Tab_Function.TabPages.Count > 1) //如果Tab的页数大于1,那表示存在动态增加的数据页 { if (Data_Dgn.Tag != null && Data_Dgn.Tag.ToString() == _Item.FunctionPrjID) { bFind = true; } else { for (int i = Tab_Function.TabPages.Count - 1; i > 0; i--) { Tab_Function.TabPages.RemoveAt(i); } bFind = false; } } if (!bFind) { Data_Dgn.Tag = _Item.FunctionPrjID; //将ID值放到数据列表的Tag中,供数据刷新使用 switch (_Item.FunctionPrjID) { case "001": { Tab_Function.TabPages.Add("计量功能数据"); CLDC_MeterUI.UI_Detection_New.FunctionDataView.ViewComputation _Computate = new CLDC_MeterUI.UI_Detection_New.FunctionDataView.ViewComputation(); Tab_Function.TabPages[1].Controls.Add(_Computate); _Computate.Dock = DockStyle.Fill; _Computate.Margin = new Padding(0); break; } case "002": { Tab_Function.TabPages.Add("计时功能数据"); CLDC_MeterUI.UI_Detection_New.FunctionDataView.ViewTimingData _Timing = new CLDC_MeterUI.UI_Detection_New.FunctionDataView.ViewTimingData(); Tab_Function.TabPages[1].Controls.Add(_Timing); _Timing.Dock = DockStyle.Fill; _Timing.Margin = new Padding(0); break; } case "003": { Tab_Function.TabPages.Add("显示功能数据"); CLDC_MeterUI.UI_Detection_New.FunctionDataView.ViewShowFunction _show = new CLDC_MeterUI.UI_Detection_New.FunctionDataView.ViewShowFunction(); Tab_Function.TabPages[1].Controls.Add(_show); _show.Dock = DockStyle.Fill; _show.Margin = new Padding(0); break; } case "004": { Tab_Function.TabPages.Add("费率时段功能数据"); CLDC_MeterUI.UI_Detection_New.FunctionDataView.ViewRatePeriod _ratePeriod = new CLDC_MeterUI.UI_Detection_New.FunctionDataView.ViewRatePeriod(); Tab_Function.TabPages[1].Controls.Add(_ratePeriod); _ratePeriod.Dock = DockStyle.Fill; _ratePeriod.Margin = new Padding(0); break; } case "005": { Tab_Function.TabPages.Add("脉冲输出功能数据"); CLDC_MeterUI.UI_Detection_New.FunctionDataView.ViewPulseOutPut _pulse = new CLDC_MeterUI.UI_Detection_New.FunctionDataView.ViewPulseOutPut(); Tab_Function.TabPages[1].Controls.Add(_pulse); _pulse.Dock = DockStyle.Fill; _pulse.Margin = new Padding(0); break; } case "006": { Tab_Function.TabPages.Add("最大需量功能数据"); CLDC_MeterUI.UI_Detection_New.FunctionDataView.ViewMaxDemand _MaxDemand = new CLDC_MeterUI.UI_Detection_New.FunctionDataView.ViewMaxDemand(); Tab_Function.TabPages[1].Controls.Add(_MaxDemand); _MaxDemand.Dock = DockStyle.Fill; _MaxDemand.Margin = new Padding(0); break; } } } this.RefreshGrid(meterGroup, CheckOrderID); Data_Dgn.Enabled = true; }