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
- MsmqIntegrationAppDomainProtocolHandler.cs
- NavigationFailedEventArgs.cs
- WebConfigurationHost.cs
- InvokeProviderWrapper.cs
- StylusOverProperty.cs
- ToolStripPanel.cs
- DataGridViewAdvancedBorderStyle.cs
- ZoneButton.cs
- XamlPoint3DCollectionSerializer.cs
- MessageQueuePermissionEntry.cs
- Publisher.cs
- TriggerActionCollection.cs
- WindowsStreamSecurityElement.cs
- FeatureManager.cs
- FilterElement.cs
- RequestSecurityToken.cs
- ObjectDataSource.cs
- OptimisticConcurrencyException.cs
- ListItemCollection.cs
- TextBoxAutoCompleteSourceConverter.cs
- ActivityCodeGenerator.cs
- TextDpi.cs
- MetadataArtifactLoaderResource.cs
- Line.cs
- TraceSection.cs
- HttpWrapper.cs
- EtwTrace.cs
- AnnotationHelper.cs
- ReadOnlyCollection.cs
- CodeDOMProvider.cs
- HttpListenerTimeoutManager.cs
- SecureStringHasher.cs
- LinqToSqlWrapper.cs
- XmlSiteMapProvider.cs
- VirtualDirectoryMapping.cs
- ColorConvertedBitmap.cs
- NavigationFailedEventArgs.cs
- AnonymousIdentificationSection.cs
- Form.cs
- ListView.cs
- UnaryNode.cs
- TextSchema.cs
- ModelPerspective.cs
- httpserverutility.cs
- DetailsViewRow.cs
- ErrorRuntimeConfig.cs
- QilBinary.cs
- SerializerWriterEventHandlers.cs
- DiscoveryClientDocuments.cs
- AsyncStreamReader.cs
- EncryptedKeyIdentifierClause.cs
- ExpressionBinding.cs
- TableCell.cs
- BamlWriter.cs
- DataGridViewColumnEventArgs.cs
- CodeSubDirectory.cs
- DataGridViewImageColumn.cs
- NetworkInterface.cs
- ResolveCompletedEventArgs.cs
- WebEvents.cs
- OutputCacheProfile.cs
- WorkflowMarkupElementEventArgs.cs
- MergablePropertyAttribute.cs
- TextEditorSpelling.cs
- AppliesToBehaviorDecisionTable.cs
- ExpandButtonVisibilityConverter.cs
- RowBinding.cs
- TextSelectionHighlightLayer.cs
- ArrayList.cs
- MembershipPasswordException.cs
- DelayedRegex.cs
- PhonemeConverter.cs
- MainMenu.cs
- SoapSchemaExporter.cs
- WindowsPrincipal.cs
- BufferModeSettings.cs
- TextEditor.cs
- UnsafeNativeMethods.cs
- CalendarDay.cs
- XmlTextReaderImplHelpers.cs
- ParallelActivityDesigner.cs
- AddInPipelineAttributes.cs
- Encoding.cs
- SyndicationDeserializer.cs
- QuaternionConverter.cs
- TemplateBamlRecordReader.cs
- BitmapFrame.cs
- ClientSettingsSection.cs
- CodeGroup.cs
- DataGridViewButtonCell.cs
- MobileSysDescriptionAttribute.cs
- WebExceptionStatus.cs
- WebConfigurationFileMap.cs
- DataServices.cs
- ColorContext.cs
- BrushConverter.cs
- SQLUtility.cs
- SessionStateContainer.cs
- TextEvent.cs
- SqlDependencyListener.cs