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
- UnitControl.cs
- TimeIntervalCollection.cs
- X509Utils.cs
- InkCanvas.cs
- RegexGroup.cs
- WebPartManager.cs
- InlineUIContainer.cs
- LinqDataSourceUpdateEventArgs.cs
- BlobPersonalizationState.cs
- OdbcTransaction.cs
- DomNameTable.cs
- GradientPanel.cs
- CodeTypeMemberCollection.cs
- WSAddressing10ProblemHeaderQNameFault.cs
- ListSortDescription.cs
- DLinqAssociationProvider.cs
- DataDocumentXPathNavigator.cs
- WeakReference.cs
- MetaChildrenColumn.cs
- StylusPlugInCollection.cs
- SpoolingTaskBase.cs
- WebServiceEnumData.cs
- MobilePage.cs
- RijndaelManagedTransform.cs
- FunctionQuery.cs
- RouteItem.cs
- BindToObject.cs
- CodeTypeMember.cs
- WebPartEditorOkVerb.cs
- hresults.cs
- CompiledELinqQueryState.cs
- RestHandlerFactory.cs
- ResizingMessageFilter.cs
- ExpressionDumper.cs
- ObjectStorage.cs
- NetNamedPipeBindingCollectionElement.cs
- PresentationSource.cs
- CodeNamespaceImport.cs
- BooleanExpr.cs
- TransformValueSerializer.cs
- LineVisual.cs
- SecurityAlgorithmSuite.cs
- sqlstateclientmanager.cs
- OdbcParameter.cs
- DataRelationCollection.cs
- DashStyle.cs
- ResourceCollectionInfo.cs
- PointValueSerializer.cs
- StorageEntitySetMapping.cs
- LogoValidationException.cs
- StringResourceManager.cs
- RNGCryptoServiceProvider.cs
- HostVisual.cs
- Documentation.cs
- NetStream.cs
- TextureBrush.cs
- Single.cs
- SamlDoNotCacheCondition.cs
- BuildProvider.cs
- HttpWriter.cs
- TrustLevelCollection.cs
- Vector3DValueSerializer.cs
- Point3DCollectionValueSerializer.cs
- MultiView.cs
- NotifyParentPropertyAttribute.cs
- webclient.cs
- DataGridPagerStyle.cs
- TextTreeRootTextBlock.cs
- SystemPens.cs
- SymLanguageType.cs
- DataSourceXmlClassAttribute.cs
- CloseSequence.cs
- DurableInstanceProvider.cs
- DataIdProcessor.cs
- Vector.cs
- StructuralComparisons.cs
- WorkBatch.cs
- PageParserFilter.cs
- BaseCodeDomTreeGenerator.cs
- Column.cs
- Point3D.cs
- BindableAttribute.cs
- XPathNodeList.cs
- PersistenceTypeAttribute.cs
- XmlFormatReaderGenerator.cs
- ProfileInfo.cs
- RequestCacheEntry.cs
- FlowPanelDesigner.cs
- SqlNodeAnnotation.cs
- SafeFileMappingHandle.cs
- BaseCollection.cs
- WriteableBitmap.cs
- MenuEventArgs.cs
- ButtonBaseAutomationPeer.cs
- SettingsAttributeDictionary.cs
- ProtectedConfigurationSection.cs
- Formatter.cs
- TransformConverter.cs
- Registry.cs
- PageThemeParser.cs