Ejemplo n.º 1
0
        private void TreeViewTables_BeforeExpand(object sender, TreeViewCancelEventArgs e)
        {
            if (!GetMainHome().GetUserControl <Editor>().GetQueryExecutor().IsAlive())
            {
                switch ((e.Node as MyTreeNode).Type)
                {
                case NodeType.Table:
                {
                    List <string>     fields     = DbDataHelper.getTableFields(GetSqlConnection(), e.Node.Text);
                    List <string>     fieldsInfo = DbDataHelper.getTableInfo(GetSqlConnection(), e.Node.Text);
                    List <MyTreeNode> nodes      = new List <MyTreeNode>();
                    foreach (string f in fields)
                    {
                        nodes.Add(new MyTreeNode()
                            {
                                Text = f, ImageIndex = 1, SelectedImageIndex = 1
                            });
                    }
                    foreach (string f in fieldsInfo)
                    {
                        nodes.Add(new MyTreeNode()
                            {
                                Text = f, ImageIndex = 2, SelectedImageIndex = 2
                            });
                    }
                    var triggerParentNode = new MyTreeNode()
                    {
                        Text = "Triggers", ImageIndex = 3, SelectedImageIndex = 3, Type = NodeType.ParentTrigger
                    };
                    triggerParentNode.Nodes.Add(getDummy());
                    nodes.Add(triggerParentNode);
                    this.setTableFields(nodes, e.Node as MyTreeNode);
                }
                break;

                case NodeType.ParentTrigger:
                {
                    List <string>     triggers = DbDataHelper.getTableTriggers(GetSqlConnection(), e.Node.Parent.Text);
                    List <MyTreeNode> nodes    = new List <MyTreeNode>();
                    foreach (string t in triggers)
                    {
                        nodes.Add(new MyTreeNode()
                            {
                                Text = t, Type = NodeType.Trigger, ImageIndex = 3, SelectedImageIndex = 3
                            });
                    }
                    this.setTableFields(nodes, e.Node as MyTreeNode);
                }
                break;
                }
            }
        }
Ejemplo n.º 2
0
        private void sendCreateTableWithTriggersToEditor(string table)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(DbDataHelper.getCreateTable(GetSqlConnection(), table) + ";\r\n");
            List <string> triggers = DbDataHelper.getTableTriggers(GetSqlConnection(), table);

            foreach (string t in triggers)
            {
                sb.Append("\r\n" + DbDataHelper.GetCreateTrigger(GetSqlConnection(), table, t) + "\r\n");
            }
            GetMainHome().GetUserControl <Editor>().AddQueryTab(sb.ToString(), table);
        }