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
- XmlSerializerVersionAttribute.cs
- InternalCache.cs
- MenuItemAutomationPeer.cs
- JumpItem.cs
- GlyphInfoList.cs
- HostProtectionException.cs
- WsdlBuildProvider.cs
- TableAutomationPeer.cs
- FragmentQueryProcessor.cs
- SizeAnimationBase.cs
- EntityConnection.cs
- ApplicationBuildProvider.cs
- WebPartAddingEventArgs.cs
- HashMembershipCondition.cs
- ContentDisposition.cs
- XsltLibrary.cs
- OdbcInfoMessageEvent.cs
- EmptyReadOnlyDictionaryInternal.cs
- XPathArrayIterator.cs
- TreeNodeClickEventArgs.cs
- ProviderConnectionPoint.cs
- DataGridHelper.cs
- DefaultValueAttribute.cs
- RoutedUICommand.cs
- ObjectDataSourceFilteringEventArgs.cs
- OneOfScalarConst.cs
- RuntimeHelpers.cs
- ServiceBehaviorElement.cs
- ComponentChangingEvent.cs
- MeshGeometry3D.cs
- XmlNodeChangedEventArgs.cs
- DirectoryNotFoundException.cs
- ObjectStateEntry.cs
- EmptyEnumerator.cs
- SqlCacheDependencyDatabase.cs
- BindingContext.cs
- StreamWriter.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- DoubleKeyFrameCollection.cs
- MemoryMappedView.cs
- UnsafeNativeMethodsCLR.cs
- MobileRedirect.cs
- ChannelBinding.cs
- TextParagraphCache.cs
- ProtectedConfigurationProviderCollection.cs
- CodeTypeReference.cs
- SHA512.cs
- Boolean.cs
- X509Utils.cs
- SortedList.cs
- LinqDataSourceInsertEventArgs.cs
- ParameterModifier.cs
- KeyGestureConverter.cs
- ConditionalAttribute.cs
- ToolboxItemCollection.cs
- LogSwitch.cs
- WebConfigurationFileMap.cs
- FileDialogPermission.cs
- BamlMapTable.cs
- SecurityAlgorithmSuiteConverter.cs
- KerberosTicketHashIdentifierClause.cs
- NetworkInformationException.cs
- _UriTypeConverter.cs
- CustomValidator.cs
- GridViewCommandEventArgs.cs
- WebPartCloseVerb.cs
- SafeCertificateContext.cs
- SQLRoleProvider.cs
- ProfilePropertySettings.cs
- MenuItem.cs
- DataGridViewSelectedColumnCollection.cs
- ProxyWebPart.cs
- ZipIOFileItemStream.cs
- SQLBinary.cs
- PanelStyle.cs
- Timer.cs
- ExtendedPropertyDescriptor.cs
- TextTreeInsertUndoUnit.cs
- TypeUsageBuilder.cs
- SapiRecognizer.cs
- PLINQETWProvider.cs
- XPathNode.cs
- VectorAnimationBase.cs
- MetaChildrenColumn.cs
- BitmapImage.cs
- AttachedAnnotationChangedEventArgs.cs
- RuleSetReference.cs
- DataObjectMethodAttribute.cs
- BitArray.cs
- PropagatorResult.cs
- XmlSerializerAssemblyAttribute.cs
- DateTimeAutomationPeer.cs
- RadialGradientBrush.cs
- DropDownList.cs
- PositiveTimeSpanValidator.cs
- OleDbConnectionInternal.cs
- HtmlGenericControl.cs
- TextModifierScope.cs
- MatcherBuilder.cs
- WorkflowInstanceContextProvider.cs