Code:
/ DotNET / DotNET / 8.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
- SerialPort.cs
- MatrixStack.cs
- ContextMenu.cs
- DispatchChannelSink.cs
- HtmlInputButton.cs
- TypeDescriptor.cs
- FieldTemplateFactory.cs
- Image.cs
- ToolStripDropDownMenu.cs
- CompilerParameters.cs
- TextModifierScope.cs
- ProfileElement.cs
- CollectionViewSource.cs
- MachineKeySection.cs
- DocumentCollection.cs
- BitmapEffectDrawingContent.cs
- ProgressChangedEventArgs.cs
- ITextView.cs
- HexParser.cs
- Variable.cs
- HostProtectionException.cs
- IndentTextWriter.cs
- CapabilitiesUse.cs
- XmlLinkedNode.cs
- Peer.cs
- LineInfo.cs
- OdbcReferenceCollection.cs
- VerificationException.cs
- ServiceThrottlingBehavior.cs
- BitmapImage.cs
- InheritablePropertyChangeInfo.cs
- TokenizerHelper.cs
- IPGlobalProperties.cs
- METAHEADER.cs
- DataRowCollection.cs
- TranslateTransform3D.cs
- WebResourceUtil.cs
- Table.cs
- Image.cs
- PageBuildProvider.cs
- Rfc2898DeriveBytes.cs
- BamlLocalizabilityResolver.cs
- NavigationPropertyEmitter.cs
- _AutoWebProxyScriptEngine.cs
- ContextMenuStripGroup.cs
- ObjectContext.cs
- RoutedEvent.cs
- Decoder.cs
- MarginsConverter.cs
- MobileResource.cs
- ReaderContextStackData.cs
- _BasicClient.cs
- NotifyInputEventArgs.cs
- DesignSurfaceServiceContainer.cs
- PropertyTabAttribute.cs
- MessagePartSpecification.cs
- XsltException.cs
- InvalidOleVariantTypeException.cs
- SourceLocationProvider.cs
- DropShadowBitmapEffect.cs
- DispatchChannelSink.cs
- ConfigsHelper.cs
- QueryAccessibilityHelpEvent.cs
- IndentTextWriter.cs
- FilterInvalidBodyAccessException.cs
- FixedNode.cs
- TabItemAutomationPeer.cs
- XmlAutoDetectWriter.cs
- Span.cs
- OdbcError.cs
- HttpModulesSection.cs
- SpeakCompletedEventArgs.cs
- WorkflowItemsPresenter.cs
- BinaryCommonClasses.cs
- Typeface.cs
- AppSettingsReader.cs
- ConvertersCollection.cs
- FileUpload.cs
- StatusBar.cs
- Preprocessor.cs
- XmlAttribute.cs
- AuditLevel.cs
- VerticalAlignConverter.cs
- EmptyEnumerator.cs
- templategroup.cs
- RequestCachePolicy.cs
- KeyboardEventArgs.cs
- MetadataItemEmitter.cs
- PropertyNames.cs
- PartialList.cs
- FullTextState.cs
- OrderedDictionary.cs
- DataBinder.cs
- WinFormsComponentEditor.cs
- TextEndOfParagraph.cs
- DbTransaction.cs
- PropertyDescriptorComparer.cs
- RequestCachingSection.cs
- QueryCacheManager.cs
- BindableTemplateBuilder.cs