/// <include file='doc\DataGridGeneralPage.uex' path='docs/doc[@for="DataGridGeneralPage.OnSelChangedDataMember"]/*' /> /// <devdoc> /// Handles changes in the datamember selection /// </devdoc> private void OnSelChangedDataMember(object source, EventArgs e) { if (IsLoading()) { return; } string newDataMember = null; if (dataMemberCombo.IsSet()) { newDataMember = (string)dataMemberCombo.SelectedItem; } Debug.Assert((currentDataSource != null) && (currentDataSource is ListSourceDataSourceItem)); ListSourceDataSourceItem dsItem = (ListSourceDataSourceItem)currentDataSource; dsItem.CurrentDataMember = newDataMember; LoadDataSourceFields(); dataSourceDirty = true; SetDirty(); UpdateEnabledVisibleState(); }
/// <include file='doc\DataGridGeneralPage.uex' path='docs/doc[@for="DataGridGeneralPage.LoadDataSourceItems"]/*' /> /// <devdoc> /// Loads the list of available IEnumerable components /// </devdoc> private void LoadDataSourceItems() { dataSourceCombo.EnsureNotSetItem(); ISite thisSite = GetSelectedComponent().Site; if (thisSite != null) { IContainer container = (IContainer)thisSite.GetService(typeof(IContainer)); if (container != null) { ComponentCollection allComponents = container.Components; if (allComponents != null) { foreach (IComponent comp in (IEnumerable)allComponents) { if ((comp is IEnumerable) || (comp is IListSource)) { // must have a valid site and a name ISite componentSite = comp.Site; if ((componentSite == null) || (componentSite.Name == null) || (componentSite.Name.Length == 0)) { continue; } DataSourceItem dsItem; if (comp is IListSource) { // an IListSource IListSource listSource = (IListSource)comp; dsItem = new ListSourceDataSourceItem(componentSite.Name, listSource); } else { // found an IEnumerable IEnumerable dataSource = (IEnumerable)comp; dsItem = new DataSourceItem(componentSite.Name, dataSource); } dataSourceCombo.AddItem(dsItem); } } } } } }
private void LoadDataSourceItems() { this._cmbDataSource.EnsureNotSetItem(); ISite site = base.GetSelectedComponent().Site; if (site != null) { IContainer service = (IContainer) site.GetService(typeof(IContainer)); if (service != null) { ComponentCollection components = service.Components; if (components != null) { foreach (IComponent component in components) { if (!(component is IEnumerable) && !(component is IListSource)) { continue; } ISite site2 = component.Site; if (((site2 != null) && (site2.Name != null)) && (site2.Name.Length != 0)) { DataSourceItem item; if (component is IListSource) { IListSource runtimeListSource = (IListSource) component; item = new ListSourceDataSourceItem(site2.Name, runtimeListSource); } else { IEnumerable runtimeDataSource = (IEnumerable) component; item = new DataSourceItem(site2.Name, runtimeDataSource); } this._cmbDataSource.AddItem(item); } } } } } }