Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / DataGridTableStyleMappingNameEditor.cs / 1 / DataGridTableStyleMappingNameEditor.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 DataGridTableStyleMappingNameEditor : UITypeEditor {
// FxCop made me add this constructor
private DataGridTableStyleMappingNameEditor() : 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;
DataGridTableStyle tableStyle = (DataGridTableStyle) context.Instance;
if (tableStyle.DataGrid == null)
return value;
PropertyDescriptor dataSourceProperty = TypeDescriptor.GetProperties(tableStyle.DataGrid)["DataSource"];
if (dataSourceProperty != null) {
object dataSource = dataSourceProperty.GetValue(tableStyle.DataGrid);
if (designBindingPicker == null) {
designBindingPicker = new DesignBindingPicker();
}
DesignBinding oldSelection = new DesignBinding(dataSource, (string) value);
DesignBinding newSelection = designBindingPicker.Pick(context, provider,
false, /* showDataSources */
true, /* showDataMembers */
true, /* 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
- Vars.cs
- MinimizableAttributeTypeConverter.cs
- DocumentPageTextView.cs
- TrustLevel.cs
- UpdateInfo.cs
- OleDbRowUpdatedEvent.cs
- DataGridViewTextBoxEditingControl.cs
- Vector3DCollectionConverter.cs
- DiagnosticsConfigurationHandler.cs
- CompleteWizardStep.cs
- ImageFormatConverter.cs
- FixedSOMTableRow.cs
- SingleTagSectionHandler.cs
- Compiler.cs
- XmlHierarchyData.cs
- DocumentApplicationJournalEntry.cs
- SqlCacheDependencySection.cs
- MessageEnumerator.cs
- CompletionCallbackWrapper.cs
- SqlCommand.cs
- WindowHideOrCloseTracker.cs
- ContainsRowNumberChecker.cs
- Mouse.cs
- TreeViewImageIndexConverter.cs
- GridSplitter.cs
- DataGridState.cs
- JsonGlobals.cs
- DataDesignUtil.cs
- DrawingAttributesDefaultValueFactory.cs
- SoapIncludeAttribute.cs
- XamlToRtfParser.cs
- ModelItemDictionaryImpl.cs
- FileDialog.cs
- WebServiceAttribute.cs
- TemplateKey.cs
- XmlSchemaSequence.cs
- ComplexPropertyEntry.cs
- CompilerScopeManager.cs
- HwndSourceParameters.cs
- UIElementHelper.cs
- Context.cs
- PenContext.cs
- UriTemplateEquivalenceComparer.cs
- ReverseInheritProperty.cs
- EntityModelBuildProvider.cs
- FilterException.cs
- SrgsOneOf.cs
- DrawingContextWalker.cs
- AudienceUriMode.cs
- Line.cs
- UnsafeNativeMethodsMilCoreApi.cs
- SiteMapDataSourceDesigner.cs
- ParameterCollection.cs
- CommentEmitter.cs
- SafeNativeMethodsMilCoreApi.cs
- HyperLink.cs
- ReachIDocumentPaginatorSerializer.cs
- ListViewAutomationPeer.cs
- ConfigurationProperty.cs
- DataGridViewCellPaintingEventArgs.cs
- OleDbEnumerator.cs
- FontFaceLayoutInfo.cs
- SelectionProcessor.cs
- _LazyAsyncResult.cs
- ImageAttributes.cs
- Composition.cs
- XmlSerializableServices.cs
- InkCanvasSelectionAdorner.cs
- ResXResourceWriter.cs
- AuthenticationSection.cs
- DynamicEndpoint.cs
- HostDesigntimeLicenseContext.cs
- SqlInfoMessageEvent.cs
- WebControlsSection.cs
- PenThreadPool.cs
- ConfigurationLockCollection.cs
- DataServiceHost.cs
- DrawingVisual.cs
- DefaultTypeArgumentAttribute.cs
- SmtpLoginAuthenticationModule.cs
- ButtonBaseAdapter.cs
- CachedPathData.cs
- SqlInternalConnection.cs
- Maps.cs
- IRCollection.cs
- CompoundFileReference.cs
- _LocalDataStore.cs
- InternalConfigHost.cs
- OpCodes.cs
- DemultiplexingClientMessageFormatter.cs
- XhtmlBasicSelectionListAdapter.cs
- _ChunkParse.cs
- GeneralTransformCollection.cs
- NavigationPropertySingletonExpression.cs
- CTreeGenerator.cs
- _SslState.cs
- StagingAreaInputItem.cs
- ObjectReaderCompiler.cs
- CodeDomLocalizationProvider.cs
- RadioButtonList.cs