예제 #1
0
        /// <summary>
        /// 将房间信息绑定到TreeView,可定义首节点描述字符
        /// </summary>
        /// <param name="tv"></param>
        /// <param name="listRoomInfo"></param>
        /// <param name="sFirstNodeDesc"></param>
        public void BindTreeViewRoom(TreeView tv, List <BasRoomModel> listRoomInfo, string sFirstNodeDesc)
        {
            tv.Nodes.Clear();
            tv.Nodes.Add(sFirstNodeDesc);
            HotelMainLogic hml = new HotelMainLogic();

            foreach (BasRoomModel mRoom in listRoomInfo)
            {
                TreeNode[] tnarry = tv.Nodes.Find(mRoom.RoomId.ToString(), true);
                if (tnarry.Length > 0)
                {
                    continue;
                }
                TreeNode tn = new TreeNode();
                tn.Text = mRoom.RoomNo;
                tn.Name = mRoom.RoomId.ToString();
                if (mRoom.Status != 'T')
                {
                    tv.Nodes[0].Nodes.Add(tn);
                }
                else
                {
                    List <BasRoomModel> listTeamRoom = hml.GetTeamRoomListByRoomId(mRoom, 'I');
                    if (cmn.CheckEOF(listTeamRoom))
                    {
                        var      query  = listTeamRoom.Where(c => c.MainRoomId == c.RoomId).First();
                        TreeNode tnMain = new TreeNode();
                        tnMain.Text = query.RoomNo;
                        tnMain.Name = query.RoomId.ToString();
                        listTeamRoom.Remove(query);
                        foreach (BasRoomModel mTeamRoom in listTeamRoom)
                        {
                            TreeNode tnChild = new TreeNode();
                            tnChild.Text = mTeamRoom.RoomNo;
                            tnChild.Name = mTeamRoom.RoomId.ToString();
                            tnMain.Nodes.Add(tnChild);
                        }
                        tv.Nodes[0].Nodes.Add(tnMain);
                    }
                    //TreeNode[] tnMain = tv.Nodes.Find(mRoom.MainRoomId.ToString(), true);
                    //if (tnMain.Length > 0)
                    //{
                    //    tnMain[0].Nodes.Add(tn);

                    //}
                    else
                    {
                        tv.Nodes[0].Nodes.Add(tn);
                    }
                }
            }
            tv.ExpandAll();
        }