Ejemplo n.º 1
0
        private void BindMyMetaControl(IGuiBindableListControl ctrl)
        {
            string parentControlId = ctrl.AutoBindingControlParentID;
            char entityType = ctrl.BindingTag[0];
            GuiControl parent = null;
            if (parentControlId != null && this.controls.ContainsKey(parentControlId))
            {
                parent = this[parentControlId];

                if (!parent.AutoBindingChildControls.Contains(ctrl as GuiControl)) parent.AutoBindingChildControls.Add(ctrl as GuiControl);
            }

            dbRoot mymeta = this._context.Objects["MyMeta"] as dbRoot;
            if (mymeta.IsConnected)
            {
                object entities = null;
                if (entityType == 'd')
                {
                    if (parent == null)
                    {
                        entities = mymeta.Databases;
                    }
                    else
                    {
                        // may address changing connections at some point - not now!
                        entities = mymeta.Databases;
                    }
                }
                else
                {
                    IDatabase db = null;

                    if (parent == null)
                        db = mymeta.DefaultDatabase;
                    else
                    {
                        if (mymeta.Databases.Count == 1 || string.IsNullOrEmpty(parent.Value as String))
                        {
                            db = mymeta.DefaultDatabase;
                        }
                        else if (mymeta.Databases[parent.Value] != null)
                        {
                            db = mymeta.Databases[parent.Value];
                        }
                    }

                    if (db != null)
                    {
                        switch (entityType)
                        {
                            case 't':
                                entities = db.Tables;
                                break;
                            case 'v':
                                entities = db.Views;
                                break;
                            case 'p':
                                entities = db.Procedures;
                                break;
                        }
                    }
                }

                if (entities != null)
                {
                    ctrl.BindData(entities);
                    if (ctrl.Items.Count > 0) ctrl.SelectAtIndex(0);
                }
                else
                {
                    ctrl.Items.Clear();
                }
            }
        }
Ejemplo n.º 2
0
        private void BindMyMetaControl(IGuiBindableListControl ctrl)
        {
            string     parentControlId = ctrl.AutoBindingControlParentID;
            char       entityType      = ctrl.BindingTag[0];
            GuiControl parent          = null;

            if (parentControlId != null && this.controls.ContainsKey(parentControlId))
            {
                parent = this[parentControlId];

                if (!parent.AutoBindingChildControls.Contains(ctrl as GuiControl))
                {
                    parent.AutoBindingChildControls.Add(ctrl as GuiControl);
                }
            }

            dbRoot mymeta = this._context.Objects["MyMeta"] as dbRoot;

            if (mymeta.IsConnected)
            {
                object entities = null;
                if (entityType == 'd')
                {
                    if (parent == null)
                    {
                        entities = mymeta.Databases;
                    }
                    else
                    {
                        // may address changing connections at some point - not now!
                        entities = mymeta.Databases;
                    }
                }
                else
                {
                    IDatabase db = null;

                    if (parent == null)
                    {
                        db = mymeta.DefaultDatabase;
                    }
                    else
                    {
                        if (mymeta.Databases.Count == 1 || string.IsNullOrEmpty(parent.Value as String))
                        {
                            db = mymeta.DefaultDatabase;
                        }
                        else if (mymeta.Databases[parent.Value] != null)
                        {
                            db = mymeta.Databases[parent.Value];
                        }
                    }

                    if (db != null)
                    {
                        switch (entityType)
                        {
                        case 't':
                            entities = db.Tables;
                            break;

                        case 'v':
                            entities = db.Views;
                            break;

                        case 'p':
                            entities = db.Procedures;
                            break;
                        }
                    }
                }

                if (entities != null)
                {
                    ctrl.BindData(entities);
                    if (ctrl.Items.Count > 0)
                    {
                        ctrl.SelectAtIndex(0);
                    }
                }
                else
                {
                    ctrl.Items.Clear();
                }
            }
        }