/// <summary> /// 加载方案 /// </summary> private bool Load() { _LstDataSendForRelay = new List <StDataSendForRelay>(); string _ErrorString = ""; XmlNode _XmlNode = clsXmlControl.LoadXml(_FAPath, out _ErrorString); if (_ErrorString != "") { return(false); } try { for (int _i = 0; _i < _XmlNode.ChildNodes.Count; _i++) { StDataSendForRelay _Item = new StDataSendForRelay(); _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.BarCode = _XmlNode.ChildNodes[_i].Attributes["BarCode"].Value.Trim(); //条形码 _Item.MeterPosition = _XmlNode.ChildNodes[_i].Attributes["MeterPosition"].Value.Trim(); //表位号 _Item.PARAMS_LIST = _XmlNode.ChildNodes[_i].Attributes["PARAMS_LIST"].Value; //参数值 _Item.WriteContent = _XmlNode.ChildNodes[_i].Attributes["WriteContent"].Value.Trim(); //写入内容 _Item.PROTOCOL = _XmlNode.ChildNodes[_i].Attributes["PROTOCOL"].Value.Trim(); //通讯规约 _LstDataSendForRelay.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 barCode , string meterPosition , string pARAMS_LIST , string writecontent , string pROTOCOL) { StDataSendForRelay _Item = new StDataSendForRelay(); string strProtocolNo = _csDataFlag.GetDataFlagNo(connProtocolItem).ToString().PadLeft(2, '0'); _Item.PrjID = ((int)CLDC_Comm.Enum.Cus_MeterResultPrjID.数据转发试验).ToString() + strProtocolNo; _Item.ConnProtocolItem = connProtocolItem; _Item.ItemCode = itemcode; _Item.BarCode = barCode; _Item.MeterPosition = meterPosition; _Item.PARAMS_LIST = pARAMS_LIST; _Item.PROTOCOL = pROTOCOL; _Item.WriteContent = writecontent; if (_LstDataSendForRelay.Contains(_Item)) { return(false); } _LstDataSendForRelay.Add(_Item); return(true); }
/// <summary> /// 加载方案项目 /// </summary> /// <param name="FaItem">方案项目</param> public void LoadFA(CLDC_DataCore.Model.Plan.Plan_DataSendForRelay FaItem) { Dgv_Data.Rows.Clear(); base.FaName = FaItem.Name; for (int _i = 0; _i < FaItem.Count; _i++) //循环方案对象 { StDataSendForRelay _Item = FaItem.getDataSendForRelay(_i); //取出一个方案项目 string zouziShortDecript = string.Empty; int RowIndex = Dgv_Data.Rows.Add(); Dgv_Data.Rows[RowIndex].Cells[0].Value = _i + 1; ((DataGridViewCell)Dgv_Data.Rows[RowIndex].Cells[1]).Value = _Item.MeterPosition.ToString(); //表位号 ((DataGridViewCell)Dgv_Data.Rows[RowIndex].Cells[2]).Value = _Item.BarCode; //条形码 ((DataGridViewCell)Dgv_Data.Rows[RowIndex].Cells[3]).Value = _Item.ItemCode.ToString(); //标志编码 ((DataGridViewCell)Dgv_Data.Rows[RowIndex].Cells[4]).Value = _Item.ConnProtocolItem.ToString(); //数据项名称 ((DataGridViewCell)Dgv_Data.Rows[RowIndex].Cells[5]).Value = _Item.WriteContent; //发送内容 ((DataGridViewCell)Dgv_Data.Rows[RowIndex].Cells[6]).Value = _Item.PARAMS_LIST.ToString(); //参数值 ((DataGridViewCell)Dgv_Data.Rows[RowIndex].Cells[7]).Value = _Item.PROTOCOL; //通讯规约 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> /// <param name="i">需要移动到的列表位置</param> /// <param name="Item">项目结构体</param> public void Move(int i, StDataSendForRelay Item) { i = i < 0 ? 0 : i; i = i >= _LstDataSendForRelay.Count ? _LstDataSendForRelay.Count - 1 : i; this.Remove(Item); _LstDataSendForRelay.Insert(i, Item); return; }
/// <summary> /// 根据项目移除 /// </summary> /// <param name="Item">项目结构体</param> public void Remove(StDataSendForRelay Item) { if (!_LstDataSendForRelay.Contains(Item)) { return; } _LstDataSendForRelay.Remove(Item); return; }
/// <summary> /// 保存方案到XML文档 /// </summary> public void Save() { if (System.IO.File.Exists(_FAPath)) { System.IO.File.Delete(_FAPath); } if (_LstDataSendForRelay.Count == 0) { return; } clsXmlControl _XmlNode = new clsXmlControl(); _XmlNode.appendchild("", "ConnProtocol", "Name", Name); for (int _i = 0; _i < _LstDataSendForRelay.Count; _i++) { StDataSendForRelay _Item = _LstDataSendForRelay[_i]; XmlNode _ChildNode = _XmlNode.appendchild(true , "R" , "PrjID" , _Item.PrjID , "ConnProtocolItem" , _Item.ConnProtocolItem , "ItemCode" , _Item.ItemCode , "BarCode" , _Item.BarCode , "MeterPosition" , _Item.MeterPosition , "PARAMS_LIST" , _Item.PARAMS_LIST , "PROTOCOL" , _Item.PROTOCOL , "WriteContent" , _Item.WriteContent); } _XmlNode.SaveXml(_FAPath); return; }