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
- KerberosReceiverSecurityToken.cs
- SymbolMethod.cs
- WebPartExportVerb.cs
- EpmTargetPathSegment.cs
- MbpInfo.cs
- EntityObject.cs
- SessionSwitchEventArgs.cs
- MiniLockedBorderGlyph.cs
- ConfigXmlSignificantWhitespace.cs
- ViewGenerator.cs
- MenuAutoFormat.cs
- ChangeNode.cs
- QueryConverter.cs
- BamlLocalizationDictionary.cs
- DodSequenceMerge.cs
- ExtensionWindow.cs
- ConfigurationSettings.cs
- Utils.cs
- ItemCollection.cs
- RuntimeConfigLKG.cs
- TextEncodedRawTextWriter.cs
- StylusCaptureWithinProperty.cs
- TextBreakpoint.cs
- EntityProviderFactory.cs
- ItemsControlAutomationPeer.cs
- RTLAwareMessageBox.cs
- VirtualPathUtility.cs
- HttpConfigurationSystem.cs
- PeerTransportListenAddressValidator.cs
- BinaryReader.cs
- OracleBFile.cs
- RotateTransform3D.cs
- SerTrace.cs
- Gdiplus.cs
- IgnoreFlushAndCloseStream.cs
- TargetException.cs
- errorpatternmatcher.cs
- IItemContainerGenerator.cs
- SessionEndedEventArgs.cs
- GlyphRun.cs
- LayoutUtils.cs
- Property.cs
- InvalidProgramException.cs
- BeginEvent.cs
- DocumentAutomationPeer.cs
- ColumnMap.cs
- CellParaClient.cs
- CacheHelper.cs
- StylusSystemGestureEventArgs.cs
- CroppedBitmap.cs
- ProviderManager.cs
- ObjectDataProvider.cs
- ImageListStreamer.cs
- StateItem.cs
- EncoderNLS.cs
- ReadOnlyHierarchicalDataSourceView.cs
- ValuePattern.cs
- ContextConfiguration.cs
- BrowserDefinition.cs
- UserNamePasswordServiceCredential.cs
- PromptEventArgs.cs
- GridItem.cs
- PrintPreviewGraphics.cs
- BordersPage.cs
- SoapSchemaMember.cs
- Peer.cs
- FormatterServices.cs
- ListViewDeletedEventArgs.cs
- PrintPreviewDialog.cs
- WindowsGrip.cs
- StylusEventArgs.cs
- DataGridTable.cs
- Wrapper.cs
- InfiniteIntConverter.cs
- SizeConverter.cs
- MatrixUtil.cs
- Events.cs
- PauseStoryboard.cs
- PeerTransportSecurityElement.cs
- Membership.cs
- UnauthorizedWebPart.cs
- ClientScriptManagerWrapper.cs
- Bits.cs
- ImageSourceConverter.cs
- ChildTable.cs
- SqlServer2KCompatibilityAnnotation.cs
- CryptographicAttribute.cs
- ImageButton.cs
- ReferencedCategoriesDocument.cs
- TextureBrush.cs
- LocalFileSettingsProvider.cs
- ScrollViewerAutomationPeer.cs
- ObjectTypeMapping.cs
- NamespaceInfo.cs
- CodeDomComponentSerializationService.cs
- DoubleAnimationBase.cs
- ObjectList.cs
- PointAnimationClockResource.cs
- InkCollectionBehavior.cs
- KnownBoxes.cs