From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期五, 10 七月 2020 10:52:13 +0800 Subject: [PATCH] 2020-07-10-01 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs | 88 ++++++++++++++++++++++++++++++++----------- 1 files changed, 65 insertions(+), 23 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs index 0557f56..f667767 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs @@ -47,11 +47,33 @@ /// <summary> /// 鎵�灞炲尯鍩熺殑鎺т欢 /// </summary> - /// <param name="i_ChidrenYaxis">瀛愭帶浠禮杞村亸绉婚噺(鐪熷疄鍊�,鏈変簺鐣岄潰闇�瑕佽繖绉嶇壒娈婃搷浣�)</param> + /// <param name="i_ChidrenYaxis">瀛愭帶浠禮杞村亸绉婚噺(銆愬垪琛ㄦ帶浠剁殑rowSpace/2銆戝嵆鍙�,涓嶆噦榛樿涓�0鍗冲彲)</param> public BelongAreaControl(int i_ChidrenYaxis = 0) : base(i_ChidrenYaxis) { //鍒濆鍖栨暟鎹� this.InitData(); + } + + /// <summary> + /// 鍒濆鍖栨帶浠�(閽堝鐨勬槸鍦烘櫙) + /// </summary> + /// <param name="i_caption">鏍囬鏂囨湰</param> + /// <param name="i_roomId">鎴块棿ID</param> + public void InitControl(string i_caption, string i_roomId) + { + var room = HdlRoomLogic.Current.GetRoomById(i_roomId); + this.DoInitControl(i_caption, room); + } + + /// <summary> + /// 鍒濆鍖栨帶浠�(閽堝鐨勬槸缃戝叧) + /// </summary> + /// <param name="i_caption">鏍囬鏂囨湰</param> + /// <param name="i_gateway">缃戝叧瀵硅薄</param> + public void InitControl(string i_caption, ZigBee.Device.ZbGateway i_gateway) + { + var room = HdlGatewayLogic.Current.GetRoomByGateway(i_gateway); + this.DoInitControl(i_caption, room); } /// <summary> @@ -62,7 +84,7 @@ public void InitControl(string i_caption, ZigBee.Device.CommonDevice i_device) { var room = HdlRoomLogic.Current.GetRoomByDevice(i_device); - this.InitControl(i_caption, room); + this.DoInitControl(i_caption, room); } /// <summary> @@ -73,7 +95,7 @@ public void InitControl(string i_caption, List<ZigBee.Device.CommonDevice> i_listDevice) { var room = Common.LocalDevice.Current.GeteRealDeviceRoom(i_listDevice[0]); - this.InitControl(i_caption, room); + this.DoInitControl(i_caption, room); } /// <summary> @@ -81,7 +103,7 @@ /// </summary> /// <param name="i_caption"></param> /// <param name="i_Room"></param> - private void InitControl(string i_caption, Common.Room i_Room) + private void DoInitControl(string i_caption, Common.Room i_Room) { if (i_Room == null) { @@ -115,7 +137,7 @@ btnCaption.X = ControlCommonResourse.XXLeft; btnCaption.Gravity = Gravity.CenterVertical; btnCaption.Text = i_caption + "锛�"; - this.AddChidren(btnCaption, ChidrenBindMode.BindEventOnly); + this.AddChidren(btnCaption, ChidrenBindMode.BindEvent); //鏄剧ず妗� var txtView = new NormalViewControl(700, true); @@ -123,7 +145,7 @@ txtView.Gravity = Gravity.CenterVertical; txtView.TextColor = UserCenterColor.Current.TextGrayColor1; txtView.Text = i_RoomName; - this.AddChidren(txtView, ChidrenBindMode.BindEventOnly); + this.AddChidren(txtView, ChidrenBindMode.BindEvent); if (chidrenYaxis != 0) { @@ -161,23 +183,29 @@ var dicFloor = HdlRoomLogic.Current.GetFloorSortList(); if (dicFloor.Count == 0) { + //绗竴浣嶉粯璁ゆ坊鍔犳湭鍒嗛厤 + var listKeys = new List<string>() { "" }; + var listName = new List<string>() { Language.StringByID(R.MyInternationalizationString.uUndistributed) }; + //鎴块棿鍚嶅瓧鍜屼富閿敹闆� var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(string.Empty, false); - if (listRoom.Count > 0) + foreach (var myRoom in listRoom) { - //鎴块棿鍚嶅瓧鍜屼富閿敹闆� - var listName = new List<string>(); - var listKeys = new List<string>(); - foreach (var myRoom in listRoom) - { - listName.Add(myRoom.Name); - listKeys.Add(myRoom.Id); - } - listRoomName.Add(listName); - listRoomKeys.Add(listKeys); + listName.Add(myRoom.Name); + listKeys.Add(myRoom.Id); } + listRoomName.Add(listName); + listRoomKeys.Add(listKeys); } else { + //绗竴浣嶉粯璁ゆ坊鍔犳湭鍒嗛厤(鏈垎閰嶆斁鍦ㄦゼ灞傞偅涓彍鍗�) + var listKeys = new List<string>() { "" }; + var listName = new List<string>() { "" }; + listRoomName.Add(listName); + listRoomKeys.Add(listKeys); + this.listFloorKeys.Add(""); + this.listFloorName.Add(Language.StringByID(R.MyInternationalizationString.uUndistributed)); + foreach (string fKeys in dicFloor.Keys) { var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(fKeys, false); @@ -187,8 +215,8 @@ this.listFloorKeys.Add(fKeys); this.listFloorName.Add(dicFloor[fKeys]); //鎴块棿鍚嶅瓧鍜屼富閿敹闆� - var listName = new List<string>(); - var listKeys = new List<string>(); + listName = new List<string>(); + listKeys = new List<string>(); foreach (var myRoom in listRoom) { listName.Add(myRoom.Name); @@ -222,9 +250,16 @@ //鏃犳ゼ灞傛ā寮� PickerView.Show(this.listRoomName[0], (value) => { - //妤煎眰+鎴块棿 - txtView.Text = this.listRoomName[0][value]; RoomKey = this.listRoomKeys[0][value]; + if (RoomKey != string.Empty) + { + //鎴块棿 + txtView.Text = this.listRoomName[0][value]; + } + else + { + txtView.Text = Language.StringByID(R.MyInternationalizationString.uDeviceNotAssignedRoom); + } this.SelectRoomEvent?.Invoke(RoomKey); }, index2, i_caption, @@ -236,10 +271,17 @@ //鏈夋ゼ灞傛ā寮� PickerView.ShowSecondary(this.listFloorName, this.listRoomName, (value1, value2) => { - //妤煎眰+鎴块棿 - txtView.Text = this.listFloorName[value1] + " " + this.listRoomName[value1][value2]; FloorKey = this.listFloorKeys[value1]; RoomKey = this.listRoomKeys[value1][value2]; + if (RoomKey != string.Empty) + { + //妤煎眰+鎴块棿 + txtView.Text = this.listFloorName[value1] + " " + this.listRoomName[value1][value2]; + } + else + { + txtView.Text = Language.StringByID(R.MyInternationalizationString.uDeviceNotAssignedRoom); + } this.SelectRoomEvent?.Invoke(RoomKey); }, index1, index2, i_caption, -- Gitblit v1.8.0