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
- ObservableCollection.cs
- SimpleApplicationHost.cs
- QilFactory.cs
- XmlBinaryReader.cs
- FormatStringEditor.cs
- ConfigXmlWhitespace.cs
- GridViewSelectEventArgs.cs
- RtfControlWordInfo.cs
- VectorConverter.cs
- Enum.cs
- XamlPointCollectionSerializer.cs
- WindowsButton.cs
- CustomErrorCollection.cs
- ProjectionCamera.cs
- Drawing.cs
- WebExceptionStatus.cs
- CodeCommentStatementCollection.cs
- PointCollectionConverter.cs
- ObjectViewFactory.cs
- SmiRecordBuffer.cs
- PackageStore.cs
- NonVisualControlAttribute.cs
- FixedSOMSemanticBox.cs
- TemplateXamlTreeBuilder.cs
- HtmlInputControl.cs
- ActivityDesignerResources.cs
- OdbcCommandBuilder.cs
- ColorTransform.cs
- MetadataUtil.cs
- TypeUtil.cs
- BaseCodePageEncoding.cs
- DBCSCodePageEncoding.cs
- WindowsSlider.cs
- BufferAllocator.cs
- SelectionChangedEventArgs.cs
- ProfileGroupSettingsCollection.cs
- AuthenticateEventArgs.cs
- WebPartPersonalization.cs
- webbrowsersite.cs
- WebPart.cs
- SymDocumentType.cs
- Html32TextWriter.cs
- GridViewRowCollection.cs
- _Rfc2616CacheValidators.cs
- TextBoxAutoCompleteSourceConverter.cs
- HtmlElement.cs
- File.cs
- PageCatalogPart.cs
- ComponentCommands.cs
- Debugger.cs
- X509CertificateCollection.cs
- ParsedAttributeCollection.cs
- WebPartChrome.cs
- SecurityContext.cs
- EdmItemCollection.OcAssemblyCache.cs
- LinqExpressionNormalizer.cs
- DocumentAutomationPeer.cs
- SecurityCriticalDataForSet.cs
- SecurityPolicySection.cs
- FixedSOMPageConstructor.cs
- PanelStyle.cs
- CompositeTypefaceMetrics.cs
- CursorEditor.cs
- WorkflowApplicationIdleEventArgs.cs
- VisualBrush.cs
- TemplateContainer.cs
- KeyValueInternalCollection.cs
- DataGridViewDataErrorEventArgs.cs
- HtmlInputRadioButton.cs
- SaveFileDialog.cs
- SplitContainer.cs
- LicenseProviderAttribute.cs
- SoapIgnoreAttribute.cs
- RoleGroup.cs
- GregorianCalendarHelper.cs
- BindingFormattingDialog.cs
- RepeaterItemEventArgs.cs
- TileBrush.cs
- Configuration.cs
- HTMLTagNameToTypeMapper.cs
- UserInitiatedNavigationPermission.cs
- SQLSingleStorage.cs
- Button.cs
- ArgumentException.cs
- Effect.cs
- TextCompositionManager.cs
- _BufferOffsetSize.cs
- ProjectedSlot.cs
- WindowsSlider.cs
- InstanceLockLostException.cs
- Brush.cs
- CustomErrorsSectionWrapper.cs
- ChannelFactoryRefCache.cs
- NetworkInformationException.cs
- WindowsStatusBar.cs
- DiscoveryServiceExtension.cs
- ReadOnlyHierarchicalDataSource.cs
- GeneralTransform.cs
- ImageDrawing.cs
- SessionState.cs