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
- Crc32Helper.cs
- QilParameter.cs
- DataViewManager.cs
- UserPreference.cs
- XhtmlBasicPanelAdapter.cs
- CircleHotSpot.cs
- JsonDataContract.cs
- DATA_BLOB.cs
- BamlResourceContent.cs
- NameValueFileSectionHandler.cs
- RadioButton.cs
- PointUtil.cs
- CompiledRegexRunner.cs
- Condition.cs
- TextTreeInsertUndoUnit.cs
- Track.cs
- SyndicationDeserializer.cs
- XPathDocument.cs
- TimeEnumHelper.cs
- UnsettableComboBox.cs
- XamlBuildTaskServices.cs
- ServiceBehaviorAttribute.cs
- ServicePerformanceCounters.cs
- ViewKeyConstraint.cs
- SqlCacheDependencyDatabase.cs
- WithParamAction.cs
- UserControl.cs
- MultidimensionalArrayItemReference.cs
- PagerSettings.cs
- UserPreferenceChangedEventArgs.cs
- XmlElementAttributes.cs
- securitycriticaldataClass.cs
- StructuredTypeEmitter.cs
- TcpClientCredentialType.cs
- _Win32.cs
- SplitterCancelEvent.cs
- CorrelationQuery.cs
- WrappedKeySecurityTokenParameters.cs
- JsonFormatWriterGenerator.cs
- FreezableCollection.cs
- GenericTextProperties.cs
- SerializerProvider.cs
- SoapMessage.cs
- ParseChildrenAsPropertiesAttribute.cs
- PeerObject.cs
- LicenseContext.cs
- LinqDataSourceSelectEventArgs.cs
- MessagePartDescriptionCollection.cs
- SqlNodeAnnotations.cs
- OraclePermissionAttribute.cs
- VisualStyleElement.cs
- WindowsRebar.cs
- ServerReliableChannelBinder.cs
- Evidence.cs
- configsystem.cs
- CustomError.cs
- _SecureChannel.cs
- PropertyGrid.cs
- TextTreeRootNode.cs
- TextTreeText.cs
- OleDbRowUpdatedEvent.cs
- ChannelEndpointElement.cs
- ToolStripComboBox.cs
- LayoutDump.cs
- UpDownEvent.cs
- BypassElement.cs
- SiteMapDesignerDataSourceView.cs
- UmAlQuraCalendar.cs
- DbBuffer.cs
- TraceSource.cs
- RelationshipType.cs
- AnnotationHelper.cs
- ComplexObject.cs
- EdgeProfileValidation.cs
- SqlUnionizer.cs
- contentDescriptor.cs
- RouteItem.cs
- SizeFConverter.cs
- ListViewUpdatedEventArgs.cs
- SqlCharStream.cs
- ManipulationStartingEventArgs.cs
- SignatureToken.cs
- EndEvent.cs
- DefinitionProperties.cs
- HtmlWindowCollection.cs
- _PooledStream.cs
- ManagedIStream.cs
- HostVisual.cs
- SettingsBindableAttribute.cs
- SecurityElement.cs
- DataGridViewCellStyleChangedEventArgs.cs
- SqlRowUpdatedEvent.cs
- Triplet.cs
- DragStartedEventArgs.cs
- StringBuilder.cs
- LinqMaximalSubtreeNominator.cs
- FontInfo.cs
- BamlResourceSerializer.cs
- SchemaCreator.cs
- LoadedOrUnloadedOperation.cs