//初始化左边板卡选择树 public void DisplayTree(TestedRacks testedRacks) { rackTree.Nodes.Clear(); TreeNode baseroot = new TreeNode(); baseroot.Tag = "型式试验"; baseroot.Text = "型式试验"; TreeNode root = null; TreeNode teed = null; foreach (Rack rack in testedRacks.Racks) { root = new TreeNode(); root.Text = string.Format("{0}#-{1}", rack.No, rack.Name); root.Tag = rack; if(!rack.Name.Contains("空")) { if(!rack.IsEmpty) { root.Checked = true; } baseroot.Nodes.Add(root); } foreach (Board board in rack.Boards) { teed = new TreeNode(); teed.Text = string.Format("{0}#槽道 - {1}", board.No, board.Name); teed.Tag = board; if (!board.Name.Contains("空")) { if (board.IsTested) { teed.Checked = true; } root.Nodes.Add(teed); } } } baseroot.ExpandAll(); rackTree.Nodes.Add(baseroot); rackTree.Refresh(); }
private string findSnByRackBoard(TestedRacks lastTestedRacks,int rack, int board) { foreach (Rack r in lastTestedRacks.Racks) { foreach (Board b in r.Boards) { if (r.No == rack && b.No == board) { return b.SN; } } } return ""; }
private void SetNodeColor(TestedRacks testedRacks, TestStatus testStatus) { foreach (TreeNode basenode in rackTree.Nodes) { foreach (TreeNode rack in basenode.Nodes) { foreach (TreeNode board in rack.Nodes) { Board b = (Board)board.Tag; switch (testStatus) { case TestStatus.THRESHOLD: break; case TestStatus.RUNNING: if (!b.IsPassed) { board.BackColor = Color.Yellow; } break; case TestStatus.UNEXPECTED_FINNISH: if(b.IsTested) { board.BackColor = Color.Red; } break; case TestStatus.EXPECTED_FINNISH: if(b.IsTested) { if(b.IsPassed) { board.BackColor = Color.Green; } else { board.BackColor = Color.Red; } } break; } } } } }
//执行一次深度复制 public void CopyFrom(TestedRacks tr) { this.Key = tr.Key; this.Tester = tr.Tester; this.Racks = tr.Racks; this.TestStatus = tr.TestStatus; this.StartTime = tr.StartTime; this.RunningTime = tr.RunningTime; this.LastKey = tr.LastKey; this.preTestTime = tr.preTestTime; }