Beispiel #1
0
        public JsonResult retuTreeJson()
        {
            Extjs4_0.Models.Ext_Tree extTree  = new Extjs4_0.Models.Ext_Tree();
            List <treeNode>          listNode = new List <treeNode>();
            int nodeID = -99;

            if (Request["node"] != null && int.TryParse(Request["node"].ToString(), out nodeID))
            {
                for (int i = 0; i < nodeID; i++)
                {
                    treeNode node = new treeNode();
                    node.id     = (i + 1) * 20;
                    node.leaf   = i % 2 == 0 ? true : false;
                    node.loaded = true;
                    node.name   = Guid.NewGuid().ToString();
                    listNode.Add(node);
                }
            }
            else
            {
                for (int i = 0; i < 10; i++)
                {
                    treeNode node = new treeNode();
                    node.id     = i + 1;
                    node.leaf   = i % 2 == 0 ? true : false;
                    node.name   = Guid.NewGuid().ToString();
                    node.loaded = true;
                    listNode.Add(node);
                }
            }
            extTree.children = listNode;
            extTree.success  = true;
            return(Json(extTree, JsonRequestBehavior.AllowGet));
        }
Beispiel #2
0
//==================================================================================
        public void complete_tree(treeNode child)
        {
            client clt = DB.client.Where(c => c.id == child.id).Single();

            if (clt.my_childs != null)
            {
                string        myChildsIds      = clt.my_childs;
                List <string> myChildsIds_List = myChildsIds.Split(',').ToList();

                foreach (string childId in myChildsIds_List)
                {
                    int child_id = Int32.Parse(childId);

                    treeNode node = new treeNode();

                    node.id = child_id;

                    client ct = DB.client.Where(c => c.id == child_id).Single();

                    node.name      = ct.name;
                    node.Numfollow = (int)ct.num_followers;

                    child.childs.Add(node); //add child to the current node

                    complete_tree(node);    //recursion
                }
            }
        }
        private void GetTreeNodeList(List <BaseMenu> _menuList, int PId, treeNode _node)
        {
            List <BaseMenu> menus = _menuList.FindAll(x => x.PMenuId == PId).OrderBy(x => x.SortId).ToList();

            if (menus.Count > 0)
            {
                _node.children = new List <treeNode>();
                for (int i = 0; i < menus.Count; i++)
                {
                    treeNode nodemenu = new treeNode(menus[i].MenuId, menus[i].Name);
                    //nodemenu.check = menugroup.FindIndex(x => x.MenuId == menus[i].MenuId) >= 0 ? true : false;
                    GetTreeNodeList(_menuList, menus[i].MenuId, nodemenu);
                    nodemenu.attributes = new Dictionary <string, object>();
                    if (string.IsNullOrEmpty(menus[i].FunName) && string.IsNullOrEmpty(menus[i].FunWcfName) && string.IsNullOrEmpty(menus[i].UrlName))
                    {
                        nodemenu.attributes.Add("isclass", true);
                    }
                    else
                    {
                        nodemenu.attributes.Add("ismenu", true);
                    }
                    nodemenu.attributes.Add("moduleid", menus[i].ModuleId);
                    _node.children.Add(nodemenu);
                }
            }
        }
Beispiel #4
0
        private treeNode statement()
        {
            treeNode temp_statement_node = new treeNode();

            switch (current_token.token_Type)
            {
            case tokenType.If:
                temp_statement_node = if_stmt();
                break;

            case tokenType.Repeat:
                temp_statement_node = repeat_stmt();
                break;

            case tokenType.ID:
                temp_statement_node = assign_stmt();
                break;

            case tokenType.Read:
                temp_statement_node = read_stmt();
                break;

            case tokenType.Write:
                temp_statement_node = write_stmt();
                break;

            default:
                //error("");
                break;
            }

            return(temp_statement_node);
        }
Beispiel #5
0
        public treeNode Parse()
        {
            treeNode TreeHead = new treeNode();

            current_token = tokens[0];
            counter       = 0;

            TreeHead = stmt_sequence();
            return(TreeHead);
        }
        public void GetMenuTree()
        {
            try
            {
                List <BaseModule> moduleList = NewObject <BaseModule>().getlist <BaseModule>();
                List <BaseMenu>   menuList   = NewObject <BaseMenu>().getlist <BaseMenu>();

                //AbstractModule module = NewObject<AbstractModule>();
                //List<AbstractModule> moduleList = module.GetModuleList();
                //AbstractMenu menu = NewObject<AbstractMenu>();
                //List<AbstractMenu> menuList = menu.GetMenuList();

                List <treeNode> tree = new List <treeNode>();

                for (int i = 0; i < moduleList.Count; i++)
                {
                    treeNode node = new treeNode(moduleList[i].ModuleId, moduleList[i].Name);
                    node.state      = "open";
                    node.attributes = new Dictionary <string, object>();
                    node.attributes.Add("ismodule", true);
                    node.attributes.Add("moduleid", moduleList[i].ModuleId);
                    List <BaseMenu> menus = menuList.FindAll(x => (x.ModuleId == moduleList[i].ModuleId && x.PMenuId == -1)).OrderBy(x => x.SortId).ToList();
                    if (menus.Count > 0)
                    {
                        node.children = new List <treeNode>();
                        for (int j = 0; j < menus.Count; j++)
                        {
                            treeNode nodemenu = new treeNode(menus[j].MenuId, menus[j].Name);
                            //nodemenu.check = menugroup.FindIndex(x => x.MenuId == menus[j].MenuId) >= 0 ? true : false;
                            GetTreeNodeList(menuList, menus[j].MenuId, nodemenu);
                            nodemenu.attributes = new Dictionary <string, object>();
                            if (string.IsNullOrEmpty(menus[j].FunName) && string.IsNullOrEmpty(menus[j].FunWcfName) && string.IsNullOrEmpty(menus[j].UrlName))
                            {
                                nodemenu.attributes.Add("isclass", true);
                            }
                            else
                            {
                                nodemenu.attributes.Add("ismenu", true);
                            }
                            nodemenu.attributes.Add("moduleid", menus[j].ModuleId);
                            node.children.Add(nodemenu);
                        }
                    }

                    tree.Add(node);
                }

                JsonResult = ToTreeJson(tree);
            }
            catch (Exception ex)
            {
                JsonResult = ex.Message;
            }
        }
Beispiel #7
0
        private treeNode write_stmt()
        {
            treeNode temp_write_stmt = new treeNode();

            temp_write_stmt.nodekind = nodeKind.Stmt;
            temp_write_stmt.stmtkind = stmtKind.Write;

            match(tokenType.Write);
            temp_write_stmt.child[0] = exp();

            return(temp_write_stmt);
        }
Beispiel #8
0
        private treeNode read_stmt()
        {
            treeNode temp_read_stmt = new treeNode();

            temp_read_stmt.nodekind = nodeKind.Stmt;
            temp_read_stmt.stmtkind = stmtKind.Read;

            match(tokenType.Read);
            match(tokenType.ID);
            temp_read_stmt.name = previousToken().token_Name;

            return(temp_read_stmt);
        }
        public void GetGroupMenu()
        {
            try
            {
                int groupid = Convert.ToInt32(ParamsData["groupId"]);

                List <BaseModule> moduleList = NewObject <BaseModule>().getlist <BaseModule>();
                List <BaseMenu>   menuList   = NewObject <BaseMenu>().getlist <BaseMenu>();

                Menu            menu       = NewObject <Menu>();
                List <BaseMenu> _menugroup = menu.GetGroupMenuList(groupid);
                List <BaseMenu> menugroup  = new List <BaseMenu>();
                for (int i = 0; i < _menugroup.Count; i++)
                {
                    if (menuList.FindIndex(x => x.PMenuId == _menugroup[i].MenuId) == -1)
                    {
                        menugroup.Add(_menugroup[i]);
                    }
                }
                List <treeNode> tree = new List <treeNode>();

                for (int i = 0; i < moduleList.Count; i++)
                {
                    treeNode node = new treeNode(moduleList[i].ModuleId, moduleList[i].Name);
                    node.state      = "open";
                    node.attributes = new Dictionary <string, object>();
                    node.attributes.Add("ismodule", true);
                    List <BaseMenu> menus = menuList.FindAll(x => (x.ModuleId == moduleList[i].ModuleId && x.PMenuId == -1)).OrderBy(x => x.SortId).ToList();
                    if (menus.Count > 0)
                    {
                        node.children = new List <treeNode>();
                        for (int j = 0; j < menus.Count; j++)
                        {
                            treeNode nodemenu = new treeNode(menus[j].MenuId, menus[j].Name);
                            nodemenu.check = menugroup.FindIndex(x => x.MenuId == menus[j].MenuId) >= 0 ? true : false;
                            GetTreeNodeList(menuList, menugroup, menus[j].MenuId, nodemenu);
                            node.children.Add(nodemenu);
                        }
                    }

                    tree.Add(node);
                }

                JsonResult = ToTreeJson(tree);
            }
            catch (Exception ex)
            {
                JsonResult = ex.Message;
            }
        }
Beispiel #10
0
        private treeNode assign_stmt()
        {
            treeNode temp_assign_stmt = new treeNode();

            temp_assign_stmt.nodekind = nodeKind.Stmt;
            temp_assign_stmt.stmtkind = stmtKind.Assign;

            match(tokenType.ID);
            temp_assign_stmt.name = previousToken().token_Name;
            match(tokenType.Assign);
            temp_assign_stmt.child[0] = exp();

            return(temp_assign_stmt);
        }
Beispiel #11
0
        private treeNode repeat_stmt()
        {
            treeNode temp_repeat_stmt = new treeNode();

            temp_repeat_stmt.nodekind = nodeKind.Stmt;
            temp_repeat_stmt.stmtkind = stmtKind.Repeat;

            match(tokenType.Repeat);
            temp_repeat_stmt.child[0] = stmt_sequence();
            match(tokenType.Until);
            temp_repeat_stmt.child[1] = exp();

            return(temp_repeat_stmt);
        }
Beispiel #12
0
    private void find(treeNode[] nodes,bool[] asked, int cur)
    {
        int pa = nodes[cur].ParentIndex;
        if (asked[pa])
        {

        }
        else
        {
            find(nodes, asked, pa);
        }
        nodes[cur].Pro = nodes[cur].ProDe * nodes[pa].Pro + nodes[cur].ProNoDe * nodes[pa].ProNo;
        nodes[cur].ProNo = 1 - nodes[cur].Pro;
        asked[cur] = true;
    }
        private void GetTreeNodeList(List <BaseDeptLayer> _layerlist, BaseDeptLayer _layer, treeNode _node)
        {
            List <BaseDeptLayer> list = _layerlist.FindAll(x => x.PId == _layer.LayerId);

            if (list.Count > 0)
            {
                _node.children = new List <treeNode>();
                for (int i = 0; i < list.Count; i++)
                {
                    treeNode node = new treeNode(list[i].LayerId, list[i].Name);
                    GetTreeNodeList(_layerlist, list[i], node);
                    _node.children.Add(node);
                }
            }
        }
        private void GetTreeNodeList(List <BaseMenu> _menuList, List <BaseMenu> menugroup, int PId, treeNode _node)
        {
            List <BaseMenu> menus = _menuList.FindAll(x => x.PMenuId == PId).OrderBy(x => x.SortId).ToList();

            if (menus.Count > 0)
            {
                _node.children = new List <treeNode>();
                for (int i = 0; i < menus.Count; i++)
                {
                    treeNode nodemenu = new treeNode(menus[i].MenuId, menus[i].Name);
                    nodemenu.check = menugroup.FindIndex(x => x.MenuId == menus[i].MenuId) >= 0 ? true : false;
                    GetTreeNodeList(_menuList, menugroup, menus[i].MenuId, nodemenu);
                    _node.children.Add(nodemenu);
                }
            }
        }
        public void GetDeptLayers()
        {
            List <BaseDeptLayer> layerlist = NewObject <BaseDeptLayer>().getlist <BaseDeptLayer>();

            List <BaseDeptLayer> root = layerlist.FindAll(x => x.PId == 0);
            List <treeNode>      tree = new List <treeNode>();

            for (int i = 0; i < root.Count; i++)
            {
                treeNode node = new treeNode(root[i].LayerId, root[i].Name);
                GetTreeNodeList(layerlist, root[i], node);
                tree.Add(node);
            }

            JsonResult = ToTreeJson(tree);
        }
Beispiel #16
0
    public int[] getOdds(string[] tree, int lowerBound, int upperBound)
    {
        int n = tree.Length;
        treeNode[] nodes = new treeNode[n];
        bool[] asked = new bool[n];
        for (int i = 0; i < n; ++i)
        {
            nodes[i] = new treeNode();
            nodes[i].Index = i;
            asked[i] = false;
        }
        asked[0] = true;
        nodes[0].ParentIndex = -1;
        nodes[0].Pro = int.Parse(tree[0]) / 100.0;
        nodes[0].ProNo = 1 - nodes[0].Pro;

        for (int i = 1; i < n; ++i)
        {
            string s = tree[i];
            string[] ss = s.Split(new char[] { ' ' });
            int a = int.Parse(ss[0]);
            int b = int.Parse(ss[1]);
            int c = int.Parse(ss[2]);

            nodes[i].ParentIndex = a;
            nodes[i].ProDe = b / 100.0;
            nodes[i].ProNoDe = c / 100.0;
        }

        for (int i = 1; i < n; ++i)
        {
            if (!asked[i])
            {
                find(nodes, asked, i);
            }
        }

        List<int> result = new List<int>();
        for (int i = 0; i < n; ++i)
        {
            if (lowerBound <= nodes[i].Pro*100 && nodes[i].Pro*100 <= upperBound)
            {
                result.Add(i);
            }
        }
        return result.ToArray();
    }
Beispiel #17
0
            public treeNode()
            {
                child = new treeNode[maxChilds];

                sibling  = null;
                lineno   = null;
                nodekind = null;

                stmtkind = null;
                expkind  = null;

                tokentype = null;
                val       = null;
                name      = "";

                exptype = null;
            }
Beispiel #18
0
        public static HtmlString CreateChildrenList(this IHtmlHelper html, treeNode node)
        {
            if (node.childrens.Count == 0)
            {
                return(new HtmlString(" "));
            }
            string result = "<ul>";

            foreach (var item in node.childrens)
            {
                result += $"<li>{item.personNode.Name}";
                result += CreateChildrenList(html, item);
                result += $"</li>";
            }
            result += "</ul>";
            return(new HtmlString(result));
        }
Beispiel #19
0
        public treeNode stmt_sequence()
        {
            treeNode temp_stmt_node = new treeNode(), new_temp_stmt_node = new treeNode();
            treeNode start = new treeNode();


            temp_stmt_node = statement();
            start          = temp_stmt_node;
            while (current_token.token_Type == tokenType.SemiColon)
            {
                match(tokenType.SemiColon);
                new_temp_stmt_node     = statement();
                temp_stmt_node.sibling = new_temp_stmt_node;
                temp_stmt_node         = new_temp_stmt_node;
            }
            return(start);
        }
Beispiel #20
0
 /// <summary>
 /// Inserts a new node to the tree.
 /// </summary>
 /// <param name="data">new node to insert afters.</param>
 public void addNode(T[] data)
 {
     treeNode <T>[] temp = new treeNode <T> [data.Length];
     for (int i = 0; i < data.Length; ++i)
     {
         temp[i] = new treeNode <T>(data[i]);
     }
     for (int i = 0; i < data.Length / 2; ++i)
     {
         try {
             temp[i].left  = temp[2 * i + 1];
             temp[i].right = temp[2 * i + 2];
         }
         catch (IndexOutOfRangeException) {
             break;
         }
     }
     head = temp[0];
 }
Beispiel #21
0
        private treeNode if_stmt()
        {
            treeNode temp_if_stmt = new treeNode();

            temp_if_stmt.nodekind = nodeKind.Stmt;
            temp_if_stmt.stmtkind = stmtKind.If;

            match(tokenType.If);
            temp_if_stmt.child[0] = exp();
            match(tokenType.Then);
            temp_if_stmt.child[1] = stmt_sequence();
            if (current_token.token_Type == tokenType.Else)
            {
                match(tokenType.Else);
                temp_if_stmt.child[2] = stmt_sequence();
            }
            match(tokenType.End);

            return(temp_if_stmt);
        }
Beispiel #22
0
        private treeNode term()
        {
            treeNode temp_term = new treeNode(), new_temp_term = new treeNode();

            temp_term = factor();
            while (current_token.token_Type == tokenType.Times)
            {
                new_temp_term.nodekind  = nodeKind.Exp;
                new_temp_term.expkind   = expKind.Op;
                new_temp_term.exptype   = expType.Integer;
                new_temp_term.tokentype = current_token;

                match(current_token.token_Type);
                new_temp_term.child[0] = temp_term;
                new_temp_term.child[1] = factor();

                temp_term = new_temp_term;
            }

            return(temp_term);
        }
Beispiel #23
0
        private treeNode simple_exp()
        {
            treeNode temp_simple_exp = new treeNode(), new_temp_simple_exp = new treeNode();

            temp_simple_exp = term();
            while (current_token.token_Type == tokenType.Plus || current_token.token_Type == tokenType.Minus)
            {
                new_temp_simple_exp.nodekind  = nodeKind.Exp;
                new_temp_simple_exp.expkind   = expKind.Op;
                new_temp_simple_exp.exptype   = expType.Integer;
                new_temp_simple_exp.tokentype = current_token;

                match(current_token.token_Type);
                new_temp_simple_exp.child[0] = temp_simple_exp;
                new_temp_simple_exp.child[1] = term();

                temp_simple_exp = new_temp_simple_exp;
            }

            return(temp_simple_exp);
        }
Beispiel #24
0
        private treeNode exp()
        {
            treeNode temp_exp = new treeNode(), new_temp_exp = new treeNode();

            temp_exp = simple_exp();
            if (current_token.token_Type == tokenType.LessThan || current_token.token_Type == tokenType.Equal)
            {
                new_temp_exp.nodekind  = nodeKind.Exp;
                new_temp_exp.expkind   = expKind.Op;
                new_temp_exp.exptype   = expType.Boolean;
                new_temp_exp.tokentype = current_token;

                match(current_token.token_Type);
                new_temp_exp.child[0] = temp_exp;
                new_temp_exp.child[1] = simple_exp();

                temp_exp = new_temp_exp;
            }

            return(temp_exp);
        }
Beispiel #25
0
        public async Task <IActionResult> Index()
        {
            Dictionary <long, List <PersonModel> > data = db.Persons.ToList()
                                                          .OrderBy(r => r.LeaderId)
                                                          .GroupBy(p => p.LeaderId, (id, item) => new { id, item })
                                                          .ToDictionary(q => q.id, q => q.item.ToList());

            Tree PersonTree = new Tree();

            void add_branch(treeNode node)
            {
                if (!data.ContainsKey(node.personNode.PersonId))
                {
                    return;
                }
                List <PersonModel> branch = data[node.personNode.PersonId];

                foreach (var p in branch)
                {
                    treeNode pers = new treeNode(p);
                    node.add_children(pers);
                    add_branch(pers);
                }
            }

            if (data.Count != 0)
            {
                List <PersonModel> root = data[-1];
                foreach (var p in root)
                {
                    treeNode node = new treeNode(p);
                    PersonTree.root.Add(node);
                    add_branch(node);
                }
            }

            return(View(PersonTree));
        }
Beispiel #26
0
        private treeNode factor()
        {
            treeNode temp_factor = new treeNode();

            switch (current_token.token_Type)
            {
            case tokenType.LeftParentheses:
                match(tokenType.LeftParentheses);
                temp_factor = exp();
                match(tokenType.RightParentheses);
                break;

            case tokenType.Num:
                temp_factor.nodekind  = nodeKind.Exp;
                temp_factor.expkind   = expKind.Const;
                temp_factor.exptype   = expType.Integer;
                temp_factor.tokentype = current_token;
                temp_factor.val       = Int32.Parse(current_token.token_Name);
                match(tokenType.Num);
                break;

            case tokenType.ID:
                temp_factor.nodekind  = nodeKind.Exp;
                temp_factor.expkind   = expKind.Id;
                temp_factor.exptype   = expType.Integer;
                temp_factor.tokentype = current_token;
                temp_factor.name      = current_token.token_Name;
                match(tokenType.ID);
                break;

            default:
                //error("");
                break;
            }

            return(temp_factor);
        }
Beispiel #27
0
//==================================================================================
        public treeNode build_tree(int cId)
        {
            client clt = DB.client.Where(c => c.id == cId).Single();

            //root
            treeNode cTree = new treeNode();

            cTree.id        = clt.id;
            cTree.name      = clt.name;
            cTree.Numfollow = (int)clt.num_followers;

            if (clt.my_childs != null)
            {
                string        myChildsIds      = clt.my_childs;
                List <string> myChildsIds_List = myChildsIds.Split(',').ToList();

                foreach (string childId in myChildsIds_List)
                {
                    int child_id = Int32.Parse(childId);

                    treeNode node = new treeNode();

                    node.id = child_id;

                    client ct = DB.client.Where(c => c.id == child_id).Single();
                    node.name      = ct.name;
                    node.Numfollow = (int)ct.num_followers;

                    cTree.childs.Add(node);

                    complete_tree(node);//to can fill rest of the tree
                }
            }

            return(cTree);
        }
Beispiel #28
0
        public ActionResult clientTree(int cId)
        {
            treeNode clientTree = build_tree(cId);

            return(View(clientTree));
        }
Beispiel #29
0
        static void Main(string[] args)
        {
            Console.WriteLine("Scratch Pad to test my Data Sctuctures");

            Node tracker;

            int caseswitch = 9;

            switch (caseswitch)
            {
            case 9:
                try
                {
                    string input = "SOSSPSSQSSOR";
                    marsExploration(input);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }

                break;

            case 1:
                #region "LinkedList"
                try
                {
                    Node n1 = new Node();
                    n1.setNodeValue(23);
                    n1.setNextNodePointerValue(null);

                    Node n2 = new Node();
                    n2.setNodeValue("Hello");
                    n2.setNextNodePointerValue(null);

                    Node n3 = new Node();
                    n3.setNodeValue(23.45);
                    n3.setNextNodePointerValue(null);

                    list l1 = new list();
                    l1.AddItem(n1);

                    l1.AddItem(n2);
                    l1.AddItem(n3);

                    l1.printAll();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
                #endregion
                break;

            case 2:
                try
                {
                    //Create a tree, specifying each of the node values manually
                    // treeNode T1 = new treeNode();
                    // T1.createTreeNode(23);
                    // T1.rightchild = new treeNode().createTreeNode(45);
                    // T1.leftchild = new treeNode().createTreeNode(100);
                    // Console.WriteLine(T1);

                    //Create a tree from an array of values (no order, generate children by appearance in the array)

                    int[]    data = { 7, 5, 10, 3, 6, 9, 12 };
                    treeNode T2   = new treeNode().GenerateTreeFromArray(data);

                    Console.WriteLine("Inorder traversal");
                    T2.inorder(T2);

                    Console.WriteLine("Preorder Traversal");
                    T2.preorder(T2);

                    Console.WriteLine("Postorder Traversal");
                    T2.postorder(T2);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
                break;

            case 3:
                try
                {
                    int[] a     = { 1, 2, 3, 4, 5 };
                    int   Total = 0;
                    Total += recursionPlayground.recurseAddMethod(a, 0);
                    Console.WriteLine(Total);
                    recursionPlayground.recurseTree(a, 0);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
                break;

            case 4:
                try
                {
                    int[] data   = { 7, 5, 10, 3, 6, 9, 12 };
                    list  T3     = new list();
                    Node  result = T3.arrayTolist(data);

                    tracker = result;

                    int newnumber = 77;
                    list.insertNodeAtHead(tracker, newnumber);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
                break;

            case 5:
                try
                {
                    singleInteger s1     = new singleInteger();
                    int           result = s1.retSingleIngeter(456777);
                    Console.WriteLine("Single digit result");
                    Console.WriteLine(result);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
                break;

            case 6:
                try
                {
                    reverseInteger s1 = new reverseInteger();
                    s1.reverseIntegerfunc(123);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
                break;

            case 7:
                try
                {
                    addArray a1   = new addArray();
                    int[]    item = { 1, 2, 3, 4, 5 };
                    Console.WriteLine(a1.addArrayFunc(item, (item.Length) - 1));
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
                break;

            case 8:
                try
                {
                    int[,] a = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 }, { 13, 14, 15, 16 } };
                    int nrows = 4;
                    int ncols = 4;

                    for (int i = 0; i < ncols - 1; i++)
                    {
                        Console.WriteLine(a[0, i]);
                    }

                    for (int i = 0; i < nrows - 1; i++)
                    {
                        Console.WriteLine(a[i, ncols - 1]);
                    }

                    for (int i = ncols - 1; i > 0; i--)
                    {
                        Console.WriteLine(a[ncols - 1, i]);
                    }

                    for (int i = nrows - 1; i > 0; i--)
                    {
                        Console.WriteLine(a[i, 0]);
                    }

                    int[,] a1 = { { 6, 7 }, { 10, 11 } };
                    nrows     = 2;
                    ncols     = 2;

                    for (int i = 0; i < ncols - 1; i++)
                    {
                        Console.WriteLine(a1[0, i]);
                    }

                    for (int i = 0; i < nrows - 1; i++)
                    {
                        Console.WriteLine(a1[i, ncols - 1]);
                    }

                    for (int i = ncols - 1; i > 0; i--)
                    {
                        Console.WriteLine(a1[ncols - 1, i]);
                    }

                    for (int i = nrows - 1; i > 0; i--)
                    {
                        Console.WriteLine(a1[i, 0]);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
                break;
            }
        }
        public void GetDbTable()
        {
            try
            {
                string dbname = ParamsData["database"];

                SqlServer server = (SqlServer)sessionData["server"];
                server.Connect();
                SqlDatabase                  database = server.Databases[dbname];
                SqlTableCollection           tables   = database.Tables;
                SqlStoredProcedureCollection splist   = database.StoredProcedures;



                List <treeNode> tree     = new List <treeNode>();
                treeNode        rootnode = new treeNode(-1, dbname);
                rootnode.attributes = new Dictionary <string, object>();
                rootnode.attributes.Add("type", "db");
                rootnode.iconCls = "icon-db";

                rootnode.children = new List <treeNode>();

                treeNode rootnode2 = new treeNode(-2, "表");
                if (tables.Count > 0)
                {
                    rootnode2.state = "closed";
                }
                rootnode2.attributes = new Dictionary <string, object>();
                rootnode2.attributes.Add("type", "");
                rootnode2.iconCls = "";
                rootnode.children.Add(rootnode2);//

                //rootnode.children = new List<treeNode>();
                treeNode rootnode3 = new treeNode(-3, "存储过程");
                if (splist.Count > 0)
                {
                    rootnode3.state = "closed";
                }
                rootnode3.attributes = new Dictionary <string, object>();
                rootnode3.attributes.Add("type", "");
                rootnode3.iconCls = "";
                rootnode.children.Add(rootnode3);//

                if (tables.Count > 0)
                {
                    rootnode2.children = new List <treeNode>();
                    for (int i = 0; i < tables.Count; i++)
                    {
                        if (tables[i].TableType == SqlObjectType.User)
                        {
                            SqlColumnCollection columns = tables[i].Columns;

                            treeNode node = new treeNode(i, tables[i].Name);
                            if (columns.Count > 0)
                            {
                                node.state = "closed";
                            }
                            node.attributes = new Dictionary <string, object>();
                            node.attributes.Add("type", "table");
                            node.iconCls = "icon-table";
                            rootnode2.children.Add(node);


                            if (columns.Count > 0)
                            {
                                node.children = new List <treeNode>();
                                for (int k = 0; k < columns.Count; k++)
                                {
                                    string   defaultvalue = columns[k].ColumnInformation.DefaultValue == null ? "null" : columns[k].ColumnInformation.DefaultValue;
                                    treeNode node2        = new treeNode(k, columns[k].ColumnInformation.Name + "(" + columns[k].ColumnInformation.DataType + "," + defaultvalue + ")");
                                    node2.attributes = new Dictionary <string, object>();
                                    node2.attributes.Add("type", "column");
                                    if (columns[k].ColumnInformation.Key)
                                    {
                                        node2.iconCls = "icon-key";
                                    }
                                    else
                                    {
                                        node2.iconCls = "icon-column";
                                    }
                                    node.children.Add(node2);
                                }
                            }
                        }
                    }
                }

                if (splist.Count > 0)
                {
                    rootnode3.children = new List <treeNode>();
                    for (int i = 0; i < splist.Count; i++)
                    {
                        if (splist[i].StoredProcedureType == SqlObjectType.StoredProcedure)
                        {
                            treeNode node = new treeNode(i, splist[i].Name);
                            node.attributes = new Dictionary <string, object>();
                            node.attributes.Add("type", "sp");
                            rootnode3.children.Add(node);
                        }
                    }
                }

                tree.Add(rootnode);

                server.Disconnect();
                JsonResult = ToTreeJson(tree);
            }
            catch (Exception err)
            {
                JsonResult = RetError("获取数据库相关数据错误://n//r" + err.Message);
            }
        }
Beispiel #31
0
 public void addChild(treeNode n)
 {
     children.Add(n);
 }