private static DataTable RemoveNonRequiredColumns(DataTable table) { for (int i = table.Columns.Count - 1; i >= 0; i--) { DataColumn column = table.Columns[i]; if (!ObjectPicker.GetIsRequiredDataColumnFlag(column)) { table.Columns.Remove(column); } } return(table); }
internal virtual DataTableLoader CreateDataTableLoaderForResolver() { DataTableLoader dataTableLoader = this.CreateDataTableLoader(); if (dataTableLoader.Table != null && this.ObjectPickerProfile == null) { this.MarkNonOptionalColumnsAsRequiredColumn(dataTableLoader.Table); ObjectPicker.RemoveNonRequiredColumns(dataTableLoader.Table); } if (dataTableLoader.RefreshArgument != null) { dataTableLoader.RefreshArgument = (ICloneable)dataTableLoader.ResultsLoaderProfile.CloneWithSharedInputTable(); } return(dataTableLoader); }
internal static void SetIsRequiredDataColumnFlag(DataColumn column, bool isRequiredDataColumn) { if (column == null) { throw new ArgumentNullException("column"); } if (ObjectPicker.GetIsRequiredDataColumnFlag(column) != isRequiredDataColumn) { if (isRequiredDataColumn) { column.ExtendedProperties.Add(ObjectPicker.RequiredDataColumnFlag, null); return; } column.ExtendedProperties.Remove(ObjectPicker.RequiredDataColumnFlag); } }
private void addObjectCommand_Execute(object sender, EventArgs e) { ObjectPicker objectPicker = this.ObjectPickerForEdit ?? this.ObjectPicker; if (objectPicker.ShowDialog() == DialogResult.OK && !this.IsResolving) { if (base.DataListView.DataSource is DataTable) { DataTable dataTable = (DataTable)base.DataListView.DataSource; dataTable.Merge(objectPicker.SelectedObjects); } else { base.DataListView.DataSource = objectPicker.SelectedObjects.Copy(); } this.ExtractChangedObjects(objectPicker.SelectedObjects.Rows); this.AddToIdentityList(this.changedObjects.Keys); } }
public TreeViewObjectPickerForm(ObjectPicker objectPicker) : this() { this.ObjectPicker = objectPicker; DataTableLoader dataTableLoader = this.ObjectPicker.DataTableLoader; this.resultDataTable = dataTableLoader.Table.Clone(); this.rootNodes = new BindingList <TreeViewObjectPickerForm.DataTreeNodeModel>(); this.queryResults = dataTableLoader.Table; this.resultTreeView.LazyExpandAll = true; this.resultTreeView.ImageList = ObjectPicker.ObjectClassIconLibrary.SmallImageList; this.resultTreeView.DataSource = this.rootNodes; this.resultTreeView.NodePropertiesMapping.Add("Text", "Name"); this.resultTreeView.NodePropertiesMapping.Add("ImageKey", "ImageKey"); this.resultTreeView.NodePropertiesMapping.Add("SelectedImageKey", "ImageKey"); this.resultTreeView.ChildRelation = "Children"; base.Load += delegate(object param0, EventArgs param1) { this.RetriveChildrenNodes(null); }; this.resultTreeView.BeforeExpand += this.resultTreeView_BeforeExpand; this.resultTreeView.AfterSelect += this.resultTreeView_AfterSelect; }
protected override DataTable GetSelectedObjects(IntPtr hwndOwner) { this.ResetScopeSetting(); DataTable result; using (Form form = this.CreateObjectPickerForm()) { if (base.Container != null) { base.Container.Add(form, form.Name + form.GetHashCode()); } IUIService iuiservice = (IUIService)this.GetService(typeof(IUIService)); if (iuiservice == null) { iuiservice = new UIService(new Win32Window(hwndOwner)); } DataTable dataTable = null; if (DialogResult.OK == iuiservice.ShowDialog(form)) { DataTable selectedObjects = ((ISelectedObjectsProvider)form).SelectedObjects; if (this.ObjectPickerProfile == null) { dataTable = ObjectPicker.RemoveNonRequiredColumns(selectedObjects); } else { dataTable = selectedObjects; } } if (base.Container != null) { base.Container.Remove(form); } result = dataTable; } return(result); }
private void MarkNonOptionalColumnsAsRequiredColumn(DataTable dataTable) { bool[] array = new bool[dataTable.Columns.Count]; foreach (ExchangeColumnHeader exchangeColumnHeader in this.CreateColumnHeaders()) { if (!exchangeColumnHeader.Default && dataTable.Columns.Contains(exchangeColumnHeader.Name)) { int ordinal = dataTable.Columns[exchangeColumnHeader.Name].Ordinal; array[ordinal] = true; } } foreach (object obj in dataTable.Columns) { DataColumn dataColumn = (DataColumn)obj; if (!array[dataColumn.Ordinal]) { ObjectPicker.SetIsRequiredDataColumnFlag(dataColumn, true); } } foreach (DataColumn column in dataTable.PrimaryKey) { ObjectPicker.SetIsRequiredDataColumnFlag(column, true); } }
public ObjectResolver(ObjectPicker objectPicker) { this.loader = objectPicker.CreateDataTableLoaderForResolver(); this.loader.RefreshCompleted += this.loader_RefreshCompleted; }
public ModifyScopeSettingsControl(ObjectPicker picker) : this() { this.Text = Strings.ModifyScopeSettingsControlTitle; this.Description = Strings.ModifyScopeSettingsControlDescription; this.ShouldScopingWithinDefaultDomainScope = picker.ShouldScopingWithinDefaultDomainScope; }
public DataTreeNodeModel(DataRow dataRow, ObjectPicker objectPicker) { this.InnerDataRow = dataRow; this.ObjectPicker = objectPicker; }
public ObjectPickerForm(ObjectPicker objectPicker) : this() { this.ObjectPicker = objectPicker; }