/// <summary> /// 刷新列表 /// </summary> /// <param name="obj"></param> /// <param name="args"></param> private void ShowTimer_Tick(Object obj, EventArgs args) { String StrRouterName, StrRouterID, StrTagName, StrID; ListViewItem item = null; int num = CommonBoxOperation.GetCurAreaTagNum(StrAreaID); label4.Text = "人員當前總數:" + num; ArrayList MyArrayList = new ArrayList(); Area ar = null; try{ foreach (ListViewItem im in AreaTaglistView.Items) { StrID = im.Name; if (!CommonCollection.TagPacks.ContainsKey(StrID)) { MyArrayList.Add(StrID); } } //清除TagPacks中已经不存在的项 for (int i = 0; i < MyArrayList.Count; i++) { AreaTaglistView.Items.RemoveByKey(MyArrayList[i].ToString()); } foreach (KeyValuePair <string, TagPack> tbk in CommonCollection.TagPacks) { StrRouterID = tbk.Value.RD_New[0].ToString("X2") + tbk.Value.RD_New[1].ToString("X2"); //判断当前的Router是否在本区域中 Area CurArea = CommonBoxOperation.GetAreaFromRouterID(StrRouterID); if (null == CurArea) { continue; } if (CurArea.ID[0] != MyArea.ID[0] || CurArea.ID[1] != MyArea.ID[1]) { continue; } StrRouterName = CommonBoxOperation.GetRouterName(StrRouterID); //判断当前Tag是否在当前的区域中 if (AreaTaglistView.Items.ContainsKey(tbk.Key)) { item = null; if (AreaTaglistView.Items.Count > 0) { item = AreaTaglistView.FindItemWithText(tbk.Key, false, 0); } else { continue; } if (null == item) { StrTagName = CommonBoxOperation.GetTagName(tbk.Key); if (null == StrTagName) { continue; } item = AreaTaglistView.FindItemWithText(StrTagName, false, 0); } ar = CommonBoxOperation.GetRouterArea(StrRouterID); if (ar == null) { continue; } if (!(ar.ID[0].ToString("X2") + ar.ID[1].ToString("X2")).Equals(StrAreaID)) { continue; } if (null != item) { if (null == StrRouterName || "".Equals(StrRouterName)) { item.SubItems[2].Text = StrRouterID; } else { item.SubItems[2].Text = StrRouterName; } item.SubItems[3].Text = tbk.Value.SigStren.ToString(); item.SubItems[4].Text = tbk.Value.Bat.ToString(); item.SubItems[5].Text = tbk.Value.ResTime.ToString(); item.SubItems[6].Text = tbk.Value.ReportTime.ToString(); } } else { ListViewItem Item = new ListViewItem(); Item.Name = tbk.Key;//其中Name是指Tag的ID Item.Text = tbk.Key; StrTagName = CommonBoxOperation.GetTagName(tbk.Key); if (null == StrTagName) { Item.SubItems.Add("****"); } else { Item.SubItems.Add(StrTagName); } if (null == StrRouterName || "".Equals(StrRouterName)) { Item.SubItems.Add(StrRouterID); } else { Item.SubItems.Add(StrRouterName); } Item.SubItems.Add(tbk.Value.SigStren.ToString()); Item.SubItems.Add(tbk.Value.Bat.ToString()); Item.SubItems.Add(tbk.Value.ResTime.ToString()); Item.SubItems.Add(tbk.Value.ReportTime.ToString()); AreaTaglistView.Items.Add(Item); } } }catch (Exception) { } }