Beispiel #1
0
        private void UpdateTable(RegisterEntry entry)
        {
            TreeGridNode node;
            string       group = entry.GetGroup();

            object[] ent = entry.GetTableEntry();
            bool     b, isField = entry.GetRegType() == RegisterEntry.type_field.FIELD;

            treeGridView1.Rows.AddRange();
            foreach (TreeGridNode group_node in treeGridView1.Nodes)
            {
                if (group_node.Cells["Registers"].Value.ToString().Equals(group))
                {
                    if (!isField)
                    {
                        node = group_node.Nodes.Add(ent);
                        group_node.Expand();
                    }
                    else
                    {
                        TreeGridNode tmp = null;
                        group_node.Expand();
                        foreach (TreeGridNode reg in group_node.Nodes)
                        {
                            b = reg.GetIsExpanded();
                            reg.Expand();
                            if ((int)reg.Cells["IndexColumn"].Value == entry.GetIndex())
                            {
                                tmp = reg;
                                break;
                            }
                            else if (!b)
                            {
                                reg.Collapse();
                            }
                        }
                        if (tmp != null)
                        {
                            node = tmp.Nodes.Add(ent);
                            //group_node.Expand();
                            tmp.Expand();
                        }
                        break;
                    }
                }
            }
        }