/// <summary> /// 加载方案项目 /// </summary> /// <param name="FaItem">方案项目</param> public void LoadFA(CLDC_DataCore.Model.Plan.Plan_ConnProtocolCheck FaItem) { Dgv_Data.Rows.Clear(); base.FaName = FaItem.Name; for (int _i = 0; _i < FaItem.Count; _i++) //循环方案对象 { StPlan_ConnProtocol _Item = FaItem.getConnProtocolPrj(_i); //取出一个方案项目 string zouziShortDecript = string.Empty; int RowIndex = Dgv_Data.Rows.Add(); Dgv_Data.Rows[RowIndex].Cells[0].Value = _i + 1; ((DataGridViewComboBoxCell)Dgv_Data.Rows[RowIndex].Cells[1]).Value = _Item.ConnProtocolItem.ToString(); //数据项名称 ((DataGridViewCell)Dgv_Data.Rows[RowIndex].Cells[2]).Value = _Item.ItemCode; //标识编码 ((DataGridViewCell)Dgv_Data.Rows[RowIndex].Cells[3]).Value = _Item.DataLen.ToString(); //数据长度 ((DataGridViewCell)Dgv_Data.Rows[RowIndex].Cells[4]).Value = _Item.PointIndex.ToString(); //小数位索引 ((DataGridViewCell)Dgv_Data.Rows[RowIndex].Cells[5]).Value = _Item.StrDataType; //数据格式 ((DataGridViewComboBoxCell)Dgv_Data.Rows[RowIndex].Cells[6]).Value = _Item.OperType.ToString(); //操作类型,读/写 ((DataGridViewCell)Dgv_Data.Rows[RowIndex].Cells[7]).Value = _Item.WriteContent; //写入内容 Dgv_Data.Rows[RowIndex].Cells[Dgv_Data.Columns.Count - 1].Value = "删除"; //删除按钮 Dgv_Data[Dgv_Data.Columns.Count - 1, RowIndex].Style.ForeColor = Color.Red; //删除按钮为红色 } { int RowIndex = Dgv_Data.Rows.Add(); //最后增加一个空行,用于新增 Dgv_Data.Rows[RowIndex].Cells[Dgv_Data.Columns.Count - 1].Value = CONST_ADD; Dgv_Data.Rows[RowIndex].Cells[Dgv_Data.Columns.Count - 1].Style.ForeColor = Color.Blue; } this.UpDownButtonState(0); //设置上下移动按钮状态 }
/// <summary> /// 加载方案 /// </summary> private bool Load() { _LstConnProtocol = new List <StPlan_ConnProtocol>(); string _ErrorString = ""; XmlNode _XmlNode = clsXmlControl.LoadXml(_FAPath, out _ErrorString); if (_ErrorString != "") { return(false); } try { for (int _i = 0; _i < _XmlNode.ChildNodes.Count; _i++) { StPlan_ConnProtocol _Item = new StPlan_ConnProtocol(); _Item.PrjID = _XmlNode.ChildNodes[_i].Attributes["PrjID"].Value; //项目ID _Item.ConnProtocolItem = _XmlNode.ChildNodes[_i].Attributes["ConnProtocolItem"].Value.Trim(); //数据项名称 _Item.ItemCode = _XmlNode.ChildNodes[_i].Attributes["ItemCode"].Value.Trim(); //标识编码 _Item.DataLen = int.Parse(_XmlNode.ChildNodes[_i].Attributes["DataLen"].Value.Trim()); //数据长度 _Item.PointIndex = int.Parse(_XmlNode.ChildNodes[_i].Attributes["PointIndex"].Value.Trim()); //小数位索引 _Item.StrDataType = _XmlNode.ChildNodes[_i].Attributes["StrDataType"].Value; //数据格式 _Item.OperType = (StMeterOperType)int.Parse(_XmlNode.ChildNodes[_i].Attributes["OperType"].Value.Trim()); //操作类型,读/写 _Item.WriteContent = _XmlNode.ChildNodes[_i].Attributes["WriteContent"].Value.Trim(); //写入内容 _LstConnProtocol.Add(_Item); } return(true); } catch (Exception ex) { CLDC_DataCore.Function.ErrorLog.Write(ex); return(false); } }
/// <summary> /// 增加一个项目 /// </summary> /// <param name="connProtocolItem"></param> /// <param name="itemcode"></param> /// <param name="datalen"></param> /// <param name="pointindex"></param> /// <param name="datatype"></param> /// <param name="opertype"></param> /// <param name="writecontent"></param> /// <returns></returns> public bool Add(string connProtocolItem , string itemcode , string datalen , string pointindex , string datatype , string opertype , string writecontent) { StPlan_ConnProtocol _Item = new StPlan_ConnProtocol(); string strProtocolNo = itemcode;//_csDataFlag.GetDataFlagNo(connProtocolItem).ToString().PadLeft(2, '0'); _Item.PrjID = ((int)CLDC_Comm.Enum.Cus_MeterResultPrjID.通讯协议检查试验).ToString() + strProtocolNo + ((int)GetMeterOperType(opertype)).ToString(); _Item.ConnProtocolItem = connProtocolItem; _Item.ItemCode = itemcode; _Item.DataLen = int.Parse(datalen); _Item.PointIndex = int.Parse(pointindex); _Item.StrDataType = datatype; _Item.OperType = GetMeterOperType(opertype); _Item.WriteContent = writecontent; if (_LstConnProtocol.Contains(_Item)) { return(false); } _LstConnProtocol.Add(_Item); return(true); }
/// <summary> /// 移动项目 /// </summary> /// <param name="i">需要移动到的列表位置</param> /// <param name="Item">项目结构体</param> public void Move(int i, StPlan_ConnProtocol Item) { i = i < 0 ? 0 : i; i = i >= _LstConnProtocol.Count ? _LstConnProtocol.Count - 1 : i; this.Remove(Item); _LstConnProtocol.Insert(i, Item); return; }
/// <summary> /// 根据项目移除 /// </summary> /// <param name="Item">项目结构体</param> public void Remove(StPlan_ConnProtocol Item) { if (!_LstConnProtocol.Contains(Item)) { return; } _LstConnProtocol.Remove(Item); return; }
/// <summary> /// 保存方案到XML文档 /// </summary> public void Save() { if (System.IO.File.Exists(_FAPath)) { System.IO.File.Delete(_FAPath); } if (_LstConnProtocol.Count == 0) { return; } clsXmlControl _XmlNode = new clsXmlControl(); _XmlNode.appendchild("", "ConnProtocol", "Name", Name); for (int _i = 0; _i < _LstConnProtocol.Count; _i++) { StPlan_ConnProtocol _Item = _LstConnProtocol[_i]; XmlNode _ChildNode = _XmlNode.appendchild(true , "R" , "PrjID" , _Item.PrjID , "ConnProtocolItem" , _Item.ConnProtocolItem , "ItemCode" , _Item.ItemCode , "DataLen" , _Item.DataLen.ToString() , "PointIndex" , _Item.PointIndex.ToString() , "StrDataType" , _Item.StrDataType , "OperType" , ((int)_Item.OperType).ToString() , "WriteContent" , _Item.WriteContent); } _XmlNode.SaveXml(_FAPath); return; }