private void treeViewSI_AfterSelect(object sender, TreeViewEventArgs e) { try { if (treeViewSI.SelectedNode == null) { return; } int Level = treeViewSI.SelectedNode.Level; string selectedNode = treeViewSI.SelectedNode.Text; Table dbCurrent = null; //Node: Table DataBase dvCurrent = null; //Node: DataBase Server chCurrent = null; //N Selection(); switch (Level) { case 0: chCurrent = objServerManager.GetBySQLServerName(treeViewSI.SelectedNode.Text); DGMonitorForm.Rows.Clear(); break; case 1: chCurrent = objServerManager.GetBySQLServerName(treeViewSI.SelectedNode.Parent.Text); dvCurrent = DataBaseManager.GetByDataBaseName(chCurrent, selectedNode); DGMonitorForm.Rows.Clear(); break; case 2: chCurrent = objServerManager.GetBySQLServerName(treeViewSI.SelectedNode.Parent.Parent.Text); dvCurrent = DataBaseManager.GetByDataBaseName(chCurrent, treeViewSI.SelectedNode.Parent.Text); dbCurrent = TableManager.GetByTableName(dvCurrent, treeViewSI.SelectedNode.Text); DGMonitorForm.Rows.Clear(); foreach (Column item in dbCurrent.Columns) { string[] row = { string.Format("{0}", item.ColumnId), item.ColumnName, item.TagName, item.DataBlock, item.Device, item.Channel, item.Cycle, item.Description }; DGMonitorForm.Rows.Add(row); } break; default: DGMonitorForm.Rows.Clear(); break; } if (chCurrent == null) { EventPvGridChannelGet?.Invoke(chCurrent, false); } else { EventPvGridChannelGet?.Invoke(chCurrent, true); } if (dvCurrent != null) { EventPvGridChannelGet?.Invoke(dvCurrent, true); } else { EventPvGridChannelGet?.Invoke(dvCurrent, false); } if (dbCurrent != null) { EventPvGridChannelGet?.Invoke(dbCurrent, true); if (dbCurrent.Columns != null) { lblTagCount.Text = $"Total: {dbCurrent.Columns.Count} tags"; } } else { EventPvGridChannelGet?.Invoke(dbCurrent, false); } } catch (Exception ex) { EventscadaException?.Invoke(GetType().Name, ex.Message); } }
private void treeViewSI_AfterSelect(object sender, TreeViewEventArgs e) { try { if (treeViewSI.SelectedNode == null) { return; } int Level = treeViewSI.SelectedNode.Level; string selectedNode = treeViewSI.SelectedNode.Text; DataBlock dbCurrent = null; //Node: DataBlock Device dvCurrent = null; //Node: Device Channel chCurrent = null; //Node: Channel switch (Level) { case 0: DGMonitorForm.Rows.Clear(); break; case 1: DGMonitorForm.Rows.Clear(); break; case 2: chCurrent = objChannelManager.GetByChannelName(treeViewSI.SelectedNode.Parent.Parent.Text); dvCurrent = objDeviceManager.GetByDeviceName(chCurrent, treeViewSI.SelectedNode.Parent.Text); dbCurrent = objDataBlockManager.GetByDataBlockName(dvCurrent, treeViewSI.SelectedNode.Text); DGMonitorForm.Rows.Clear(); string[] row = new string[7]; foreach (Tag tg in dbCurrent.Tags) { if (tg.Value == null) { row[0] = string.Format("{0}", tg.TagId); row[1] = tg.TagName; row[2] = string.Format("{0}", tg.Address); row[3] = string.Format("{0}", tg.DataType); row[4] = "0"; row[5] = string.Format("{0}", tg.TimeSpan); row[6] = tg.Description; DGMonitorForm.Rows.Add(row); } else { string[] row1 = { string.Format("{0}", tg.TagId), tg.TagName, string.Format("{0}", tg.Address), string.Format("{0}", tg.DataType), string.Format("{0}", tg.Value), string.Format("{0}", tg.TimeSpan), tg.Description }; DGMonitorForm.Rows.Add(row1); } } break; default: DGMonitorForm.Rows.Clear(); break; } if (chCurrent == null) { EventPvGridChannelGet?.Invoke(chCurrent, false); } else { switch (chCurrent.ConnectionType) { case "SerialPort": DISerialPort dis = (DISerialPort)chCurrent; EventPvGridChannelGet?.Invoke(dis, true); break; case "Ethernet": DIEthernet die = (DIEthernet)chCurrent; EventPvGridChannelGet?.Invoke(die, true); break; } } if (dvCurrent != null) { EventPvGridDeviceGet?.Invoke(dvCurrent, true); } else { EventPvGridDeviceGet?.Invoke(dvCurrent, false); } if (dbCurrent != null) { EventPvGridDataBlockGet?.Invoke(dbCurrent, true); } else { EventPvGridDataBlockGet?.Invoke(dbCurrent, false); lblSelectedTagName.Text = string.Format("Selected tag: {0}", "None"); } } catch (Exception ex) { EventscadaException?.Invoke(GetType().Name, ex.Message); } }