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(); } } }
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(); } } }