private void InitEquipTree() { EquipTreeView.Nodes.Clear(); // T_PathIdentifyEquip[] rootEquips = Cache.PathIdEquips.Where(it => it.ParentId == -1).ToArray(); foreach (T_PathIdentifyEquip equip in Cache.PathIdEquips) { TreeNode CurrentRootNode = new TreeNode(equip.EquipName); CurrentRootNode.ImageIndex = 2; CurrentRootNode.Tag = equip; if (TreeNodeDict.Keys.Contains(equip.Id)) { TreeNodeDict[equip.Id] = CurrentRootNode; } else { TreeNodeDict.Add(equip.Id, CurrentRootNode); } EquipTreeView.Nodes.Add(CurrentRootNode); T_PathIdentifyEquip[] childEquips = Cache.PathIdEquips.Where(it => it.ParentId == equip.Id).ToArray(); foreach (T_PathIdentifyEquip ce in childEquips) { TreeNode node = new TreeNode(ce.EquipName); node.ImageIndex = 2; node.Tag = ce; CurrentRootNode.Nodes.Add(node); if (TreeNodeDict.Keys.Contains(ce.Id)) { TreeNodeDict[ce.Id] = node; } else { TreeNodeDict.Add(ce.Id, node); } } } EquipTreeView.ExpandAll(); }
private void EquipTreeContextMenuStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { switch (e.ClickedItem.Name) { case "AddEquipToolStripMenuItem": { AddEquipForm form = new AddEquipForm(); if (form.ShowDialog() == DialogResult.OK) { InitEquipTree(); } } break; case "ModifyEquipToolStripMenuItem": { if (EquipTreeView.SelectedNode != null && EquipTreeView.SelectedNode.Tag != null) { T_PathIdentifyEquip equip = (T_PathIdentifyEquip)EquipTreeView.SelectedNode.Tag; AddEquipForm form = new AddEquipForm(equip); if (form.ShowDialog() == DialogResult.OK) { InitEquipTree(); } } } break; case "DelEquipToolStripMenuItem": { if (EquipTreeView.SelectedNode != null) { if (EquipTreeView.SelectedNode.GetNodeCount(true) > 0) { if (MessageBox.Show("确定删除此节点设备及其下属所有设备?", "删除设备组", MessageBoxButtons.OKCancel , MessageBoxIcon.Question) == DialogResult.OK) { foreach (TreeNode node in EquipTreeView.SelectedNode.Nodes) { T_PathIdentifyEquip equip = (T_PathIdentifyEquip)node.Tag; Cache.RemoveEquip(equip); node.Remove(); } T_PathIdentifyEquip selectedEquip = (T_PathIdentifyEquip)EquipTreeView.SelectedNode.Tag; Cache.RemoveEquip(selectedEquip); EquipTreeView.SelectedNode.Remove(); } } else { if (MessageBox.Show("确定删除此节点设备设备?", "删除设备", MessageBoxButtons.OKCancel , MessageBoxIcon.Question) == DialogResult.OK) { T_PathIdentifyEquip selectedEquip = (T_PathIdentifyEquip)EquipTreeView.SelectedNode.Tag; Cache.RemoveEquip(selectedEquip); EquipTreeView.SelectedNode.Remove(); } } InitEquipTree(); } } break; case "ProofTimeToolStripMenuItem": { AppendText("设备校时开始"); if (EquipTreeView.SelectedNode != null) { T_PathIdentifyEquip selectedEquip = (T_PathIdentifyEquip)EquipTreeView.SelectedNode.Tag; bool rel = DriverWrapper.ProofTime(selectedEquip.Id); if (rel) { AppendText(string.Format("设备-{0}校时成功。", selectedEquip.EquipName)); } else { AppendText(string.Format("设备-{0}校时失败。", selectedEquip.EquipName)); } } else { AppendText("设备树上未选择有效的设备"); } AppendText("设备校时结束"); } break; case "RetransDataToolStripMenuItem": { AppendText("设置重传..."); if (EquipTreeView.SelectedNode != null) { T_PathIdentifyEquip selectedEquip = (T_PathIdentifyEquip)EquipTreeView.SelectedNode.Tag; RetransDataForm form = new RetransDataForm(); if (form.ShowDialog() == DialogResult.OK) { bool rel = DriverWrapper.SetRetransData(selectedEquip.Id, form.StartTime, form.EndTime); if (rel) { AppendText(string.Format("设备-{0}设置重传成功。StartTime:{1}-EndTime:{2}" , selectedEquip.EquipName, form.StartTime, form.EndTime)); } else { AppendText(string.Format("设备-{0}设置重传失败。StartTime:{1}-EndTime:{2}" , selectedEquip.EquipName, form.StartTime, form.EndTime)); } } else { AppendText("设置重传取消"); } } else { AppendText("设备树上未选择有效的设备"); } AppendText("设置重传完成"); } break; case "AllExpendToolStripMenuItem": { EquipTreeView.ExpandAll(); } break; case "AllCollapseToolStripMenuItem": { EquipTreeView.CollapseAll(); } break; } }