private void GetSendData() { _sendDataList.Clear(); string commPort = ""; SenderDisplayInfo senderDisplayInfo = null; List<SenderDisplayInfo> displayInfoList = null; for (int i = 0; i < SenderDisplayInfoList.Count; i++) { DataGradViewItem source = SenderDisplayInfoList[i]; if (source.IsChecked) { senderDisplayInfo = new SenderDisplayInfo(); if (commPort != source.SerialPort) { displayInfoList = new List<SenderDisplayInfo>(); } senderDisplayInfo.Height = Height; senderDisplayInfo.Width = Width; senderDisplayInfo.Refresh = (int)RefreshRate; senderDisplayInfo.SenderAddr = source.SenderIndex; senderDisplayInfo.IsCustomPix = false; displayInfoList.Add(senderDisplayInfo); if (!_sendDataList.ContainsKey(source.SerialPort)) { _sendDataList.Add(source.SerialPort, new List<SenderDisplayInfo>()); } _sendDataList[source.SerialPort].Add(senderDisplayInfo); commPort = source.SerialPort; } } }
private void Initialize() { int senderCount = 0; _sendDataList.Clear(); SenderDisplayInfoList.Clear(); SenderDisplayInfo senderDisplayInfo = null; List<SenderDisplayInfo> displayInfoList = null; DataGradViewItem dataGradViewItem = null; foreach (string commPort in _serverProxy.EquipmentTable.Keys) { displayInfoList = new List<SenderDisplayInfo>(); lock (_serverProxy.EquimentObject) { senderCount = _serverProxy.EquipmentTable[commPort].EquipTypeCount; } NSCardType cardType; lock (_serverProxy.EquimentObject) { EquipmentInfo inf = _serverProxy.EquipmentTable[commPort]; cardType = CustomTransform.ModelIdToNSCarType(inf.ModuleID); } for (int i = 0; i < senderCount; i++) { senderDisplayInfo = new SenderDisplayInfo(); senderDisplayInfo.SenderAddr = (byte)i; dataGradViewItem = new DataGradViewItem(); dataGradViewItem.CheckBoxChangedEvent += new CheckBoxChangedDel(OnCheckBoxChanged); dataGradViewItem.MaterCheckBoxAllChangedEvent += new MaterCheckBoxChangedDel(OnMaterCheckBoxChanged); dataGradViewItem.IsChecked = false; dataGradViewItem.SenderIndex = (byte)i; dataGradViewItem.SerialPort = commPort + "-" + cardType.ToString(); dataGradViewItem.CardType = cardType.ToString(); displayInfoList.Add(senderDisplayInfo); SenderDisplayInfoList.Add(dataGradViewItem); } if (!_sendDataList.ContainsKey(dataGradViewItem.SerialPort)) { _sendDataList.Add(dataGradViewItem.SerialPort, displayInfoList); } else { _sendDataList[dataGradViewItem.SerialPort] = displayInfoList; } } if (_sendDataList.Count > 0) { ReadOneCardData(); } }