Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / DataGridColumnStyleMappingNameEditor.cs / 1 / DataGridColumnStyleMappingNameEditor.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms.Design { using System.Design; using System; using System.ComponentModel; using System.ComponentModel.Design; using System.Drawing; using System.Drawing.Design; internal class DataGridColumnStyleMappingNameEditor : UITypeEditor { // FxCop made me add this constructor private DataGridColumnStyleMappingNameEditor() : base() {} private DesignBindingPicker designBindingPicker; public override bool IsDropDownResizable { get { return true; } } public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if (provider != null && context.Instance != null) { object instance = context.Instance; DataGridColumnStyle columnStyle = (DataGridColumnStyle) context.Instance; if (columnStyle.DataGridTableStyle == null || columnStyle.DataGridTableStyle.DataGrid == null) return value; PropertyDescriptor dataSourceProperty = TypeDescriptor.GetProperties(columnStyle.DataGridTableStyle.DataGrid)["DataSource"]; if (dataSourceProperty != null) { object dataSource = dataSourceProperty.GetValue(columnStyle.DataGridTableStyle.DataGrid); if (designBindingPicker == null) { designBindingPicker = new DesignBindingPicker(); } DesignBinding oldSelection = new DesignBinding(null, (string) value); DesignBinding newSelection = designBindingPicker.Pick(context, provider, false, /* showDataSources */ true, /* showDataMembers */ false, /* selectListMembers */ dataSource, String.Empty, oldSelection); if (dataSource != null && newSelection != null) { if (String.IsNullOrEmpty(newSelection.DataMember) || newSelection.DataMember == null) value = ""; else value = newSelection.DataField; } } } return value; } public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context) { return UITypeEditorEditStyle.DropDown; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Buffer.cs
- PathSegmentCollection.cs
- FrameworkElement.cs
- StringBlob.cs
- ImageListStreamer.cs
- AttributeAction.cs
- WebPartCatalogAddVerb.cs
- PathFigureCollectionValueSerializer.cs
- DictionaryMarkupSerializer.cs
- MissingFieldException.cs
- CompModSwitches.cs
- SecurityRuntime.cs
- CredentialCache.cs
- CoreChannel.cs
- SafeTimerHandle.cs
- DockProviderWrapper.cs
- ConfigurationLockCollection.cs
- FixedElement.cs
- ChineseLunisolarCalendar.cs
- Lock.cs
- FormatConvertedBitmap.cs
- TrustManagerMoreInformation.cs
- GenericTypeParameterBuilder.cs
- _Semaphore.cs
- Shape.cs
- XmlMemberMapping.cs
- FunctionQuery.cs
- TypeBrowser.xaml.cs
- Native.cs
- ProviderSettingsCollection.cs
- RadioButtonAutomationPeer.cs
- OpCopier.cs
- StrongNameKeyPair.cs
- ValidatingCollection.cs
- EventHandlerList.cs
- TimeSpanMinutesConverter.cs
- SortedList.cs
- BindingExpressionBase.cs
- DataTableMappingCollection.cs
- SizeAnimationBase.cs
- NullRuntimeConfig.cs
- FontEmbeddingManager.cs
- CompoundFileStreamReference.cs
- DesignerTransaction.cs
- BinaryConverter.cs
- __Error.cs
- ZoomPercentageConverter.cs
- PermissionListSet.cs
- SystemPens.cs
- BStrWrapper.cs
- TextEndOfSegment.cs
- QueryStringConverter.cs
- InternalDispatchObject.cs
- StylusPointPropertyUnit.cs
- DragEventArgs.cs
- DbParameterCollectionHelper.cs
- DeploymentSection.cs
- DrawingImage.cs
- CodeAttachEventStatement.cs
- SystemIPGlobalProperties.cs
- MetadataUtil.cs
- CacheVirtualItemsEvent.cs
- SoapAttributeAttribute.cs
- CodeGen.cs
- CertificateElement.cs
- PackagingUtilities.cs
- AppDomainShutdownMonitor.cs
- DataGridColumnCollection.cs
- GlyphTypeface.cs
- SqlDataSource.cs
- DocumentOrderComparer.cs
- PrinterUnitConvert.cs
- EndOfStreamException.cs
- DBCSCodePageEncoding.cs
- XmlSchemaSimpleTypeList.cs
- TransactionsSectionGroup.cs
- ConnectionConsumerAttribute.cs
- SslStream.cs
- EventEntry.cs
- Typeface.cs
- ConstraintCollection.cs
- UnsettableComboBox.cs
- SqlDataReaderSmi.cs
- SchemaImporterExtension.cs
- Pen.cs
- TextSpanModifier.cs
- ValidateNames.cs
- FileNameEditor.cs
- RemotingSurrogateSelector.cs
- RangeBaseAutomationPeer.cs
- MultipleViewProviderWrapper.cs
- XmlWriter.cs
- ToolStripMenuItemDesigner.cs
- FixedDocumentSequencePaginator.cs
- RightsManagementEncryptionTransform.cs
- LinkTarget.cs
- GrammarBuilderDictation.cs
- DispatchChannelSink.cs
- Tag.cs
- LinkDescriptor.cs