QQ功能的讨论,进来评论就有分拿
当你成功登录QQ的时候 ,它会自动加载你的 QQ头像,和你有多少个分组,分组下面有多少个好友,比如说我有七个分组,每个分组下面有若干个好友,而你的QQ有八个分组,每个分组下面有多少个好友,腾讯是怎么记录的,表结构该怎么设计?
我要做的就是管理一个城市的消防用户单位,每个用户下面可能有不同的设备类型,设备类型下面可能有 具体的设备。感觉和QQ有点相似。而且登录的时候要判断是普通用户还是消防局,消防局能够查看它下面所属用户的信息。比如说杭州消防局能查看杭州的。南京的消防局能查看南京的用户。该款软件可能在多个省市 用到,像QQ号一样的 号码 还得设计。哪位高手能给指定一下,如果说的好 本人定加分
------解决方案--------------------节点跟子节点
------解决方案--------------------逐层加载 异步
------解决方案--------------------我有一个QQ demo
------解决方案--------------------将每个用户做成一个自定义控件,空间里面的属性 包含 ID(号码),名称,地区属性,单位属性等等,把该显示的显示,不该显示的保存,然后每增加一个新的单位,就实例化一个控件
具体察看的时候就可以根据空间中单位的各种属性来确定是否能查看 或显示
------解决方案--------------------我做过局域网通讯的小程序,我是按照公司的部门来分组的,在根目录下面有一个ACCESS的数据文件,里面有姓名和所属部门,读取这个文件以后会返回一张表,然后那个Treeview上面就根据读出来的数据绑定到控件上面,根据指定的一个值来判断数据哪一个部门,然后自动将这个用户添加到对应的组别下面,仅供参考。
 private int dep = 0;
       public int Dep
       {
           get { return dep; }
           set
           {
               dep = value;
               switch (dep)
               {
                   case 0:
                       depInfo = "IT";
                       break;
                   case 1:
                       depInfo = "QA";
                       break;
                   case 2:
                       depInfo = "PE";
                       break;
                   case 3:
                       depInfo = "DE";
                       break;
                   case 4:
                       depInfo = "IE";
                       break;
                   case 5:
                       depInfo = "PMC";
                       break;
                   case 6:
                       depInfo = "PMT";
                       break;
                   case 7:
                       depInfo = "LOG";
                       break;
                   case 8:
                       depInfo = "PUR";
                       break;
                   case 9:
                       depInfo = "ADM";
                       break;
                   case 10:
                       depInfo = "DOC";
                       break;
                   case 11:
                       depInfo = "IQC";
                       break;
                   case 12:
                       depInfo = "SMT";
                       break;
                   case 13:
                       depInfo = "IAD";
                       break;
                   case 14:
                       depInfo = "PROD";
                       break;
                   case 15:
                       depInfo = "STORE";
                       break;                                 
               }
               if (this.Node.Parent != null)
               {
                   this.Node.Parent.Tag = depInfo;
               }
           }
       }
       private void NewUserLogin(ClassUserInfo userinfo)//添加新的用户资料
       {
           if (userinfo.ID == selfInfo.ID)
               return;
                      ClassUserInfo UserInfo;
           UserInfo = findUser(userinfo.ID);
           if (UserInfo == null)
           {
               userinfo.Node = new TreeNode();
               this.TvUsers.Nodes[userinfo.Dep].Nodes.Add(userinfo.Node);