Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / DataGridViewComboBoxColumnDesigner.cs / 1 / DataGridViewComboBoxColumnDesigner.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms.Design { using System.Design; using System.ComponentModel; using System.Diagnostics; using System; using System.Collections; using System.Windows.Forms; using System.Data; using System.ComponentModel.Design; using System.Drawing; using Microsoft.Win32; using System.Windows.Forms.ComponentModel; ////// /// internal class DataGridViewComboBoxColumnDesigner : DataGridViewColumnDesigner { static BindingContext bc; private string ValueMember { get { DataGridViewComboBoxColumn col = (DataGridViewComboBoxColumn) this.Component; return col.ValueMember; } set { DataGridViewComboBoxColumn col = (DataGridViewComboBoxColumn) this.Component; if (col.DataSource == null) { return; } if (ValidDataMember(col.DataSource, value)) { col.ValueMember = value; } } } private string DisplayMember { get { DataGridViewComboBoxColumn col = (DataGridViewComboBoxColumn) this.Component; return col.DisplayMember; } set { DataGridViewComboBoxColumn col = (DataGridViewComboBoxColumn) this.Component; if (col.DataSource == null) { return; } if (ValidDataMember(col.DataSource, value)) { col.DisplayMember = value; } } } private bool ShouldSerializeDisplayMember() { DataGridViewComboBoxColumn col = (DataGridViewComboBoxColumn) this.Component; return !String.IsNullOrEmpty(col.DisplayMember); } private bool ShouldSerializeValueMember() { DataGridViewComboBoxColumn col = (DataGridViewComboBoxColumn) this.Component; return !String.IsNullOrEmpty(col.ValueMember); } private static bool ValidDataMember(object dataSource, string dataMember) { if (String.IsNullOrEmpty(dataMember)) { // a null string is a valid value return true; } if (bc == null) { bc = new BindingContext(); } // // scrub the hashTable inside the BindingContext every time we access this method. // int count = ((ICollection) bc).Count; BindingMemberInfo bmi = new BindingMemberInfo(dataMember); PropertyDescriptorCollection props = null; BindingManagerBase bmb; try { bmb = bc[dataSource, bmi.BindingPath]; } catch (System.ArgumentException) { return false; } if (bmb == null) { return false; } props = bmb.GetItemProperties(); if (props == null) { return false; } if (props[bmi.BindingField] == null) { return false; } return true; } protected override void PreFilterProperties(IDictionary properties) { base.PreFilterProperties(properties); PropertyDescriptor prop = (PropertyDescriptor) properties["ValueMember"]; if (prop != null) { properties["ValueMember"] = TypeDescriptor.CreateProperty(typeof(DataGridViewComboBoxColumnDesigner), prop, new Attribute[0]); } prop = (PropertyDescriptor) properties["DisplayMember"]; if (prop != null) { properties["DisplayMember"] = TypeDescriptor.CreateProperty(typeof(DataGridViewComboBoxColumnDesigner), prop, new Attribute[0]); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.Provides a base designer for data grid view columns. ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Zone.cs
- AuthenticationModulesSection.cs
- X509UI.cs
- StyleReferenceConverter.cs
- Nodes.cs
- ResXResourceSet.cs
- CharEntityEncoderFallback.cs
- SqlTypesSchemaImporter.cs
- XPathScanner.cs
- GridViewSortEventArgs.cs
- AssemblyResourceLoader.cs
- TemplatePropertyEntry.cs
- BuildManagerHost.cs
- TypeBuilder.cs
- PersonalizationEntry.cs
- ExpressionVisitor.cs
- ButtonBase.cs
- SetStoryboardSpeedRatio.cs
- AmbientProperties.cs
- VirtualizingStackPanel.cs
- WebOperationContext.cs
- BitmapImage.cs
- SmtpDigestAuthenticationModule.cs
- TrackingLocation.cs
- ProxyWebPartConnectionCollection.cs
- log.cs
- RealProxy.cs
- SqlTopReducer.cs
- WorkflowQueuingService.cs
- XmlIlTypeHelper.cs
- CollectionContainer.cs
- TreeNodeBindingCollection.cs
- BufferedGraphics.cs
- NonBatchDirectoryCompiler.cs
- DataConnectionHelper.cs
- ListManagerBindingsCollection.cs
- StringFormat.cs
- Brushes.cs
- SafeHandles.cs
- Quack.cs
- XamlVector3DCollectionSerializer.cs
- UIHelper.cs
- PrintPreviewControl.cs
- GridViewRowPresenterBase.cs
- SessionStateSection.cs
- DataGridViewRowsAddedEventArgs.cs
- MemberNameValidator.cs
- AuthenticationConfig.cs
- HttpConfigurationContext.cs
- BitStream.cs
- SingleObjectCollection.cs
- SynchronizingStream.cs
- XmlUnspecifiedAttribute.cs
- XmlElementCollection.cs
- XmlArrayItemAttributes.cs
- Menu.cs
- ListDictionaryInternal.cs
- ScriptReferenceBase.cs
- AnimatedTypeHelpers.cs
- AssociationSet.cs
- TextDecorationUnitValidation.cs
- AccessDataSource.cs
- GradientStop.cs
- TTSEngineProxy.cs
- ClientRuntimeConfig.cs
- Point3DAnimationUsingKeyFrames.cs
- WinEventQueueItem.cs
- GorillaCodec.cs
- BufferedGraphics.cs
- CellPartitioner.cs
- AccessDataSource.cs
- WebColorConverter.cs
- DbMetaDataCollectionNames.cs
- SafeCryptHandles.cs
- DropDownList.cs
- mda.cs
- DesignTable.cs
- TrackingProfileSerializer.cs
- XmlSchemaNotation.cs
- StackBuilderSink.cs
- ToolStripPanel.cs
- SrgsGrammarCompiler.cs
- StylusButtonCollection.cs
- AttributeSetAction.cs
- CompilerState.cs
- MethodCallTranslator.cs
- RegionInfo.cs
- DataQuery.cs
- ExtendedPropertyInfo.cs
- PathFigureCollectionConverter.cs
- QuaternionRotation3D.cs
- COM2PropertyBuilderUITypeEditor.cs
- SqlDataSourceRefreshSchemaForm.cs
- ElementFactory.cs
- TypefaceMap.cs
- StrongNameUtility.cs
- unitconverter.cs
- RuleElement.cs
- XmlMtomReader.cs
- ForwardPositionQuery.cs