Code:
/ DotNET / DotNET / 8.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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ResourceSetExpression.cs
- ProcessModelInfo.cs
- LookupNode.cs
- RoutedEventConverter.cs
- FlowDocument.cs
- XslTransform.cs
- InvalidDocumentContentsException.cs
- TextDataBindingHandler.cs
- ConfigXmlCDataSection.cs
- TCPClient.cs
- SchemaNames.cs
- CodeSubDirectory.cs
- SqlClientMetaDataCollectionNames.cs
- ReadContentAsBinaryHelper.cs
- SoapReflectionImporter.cs
- TextEncodedRawTextWriter.cs
- processwaithandle.cs
- CodeObjectCreateExpression.cs
- CellPartitioner.cs
- Package.cs
- SQLByteStorage.cs
- XmlAnyAttributeAttribute.cs
- ListBoxItemWrapperAutomationPeer.cs
- XmlILModule.cs
- DocumentReference.cs
- MenuItemBinding.cs
- XhtmlBasicTextBoxAdapter.cs
- XmlDocument.cs
- ListViewInsertionMark.cs
- ProcessRequestAsyncResult.cs
- FindCompletedEventArgs.cs
- AsymmetricSignatureFormatter.cs
- AttributedMetaModel.cs
- FontInfo.cs
- ContextMenuService.cs
- WrapperEqualityComparer.cs
- SortFieldComparer.cs
- Propagator.ExtentPlaceholderCreator.cs
- OleDbPropertySetGuid.cs
- FloaterBaseParagraph.cs
- SearchForVirtualItemEventArgs.cs
- MinimizableAttributeTypeConverter.cs
- Attributes.cs
- BookmarkOptionsHelper.cs
- ToolStripItemEventArgs.cs
- HwndAppCommandInputProvider.cs
- HtmlControl.cs
- ClientTargetSection.cs
- EllipseGeometry.cs
- StrongNamePublicKeyBlob.cs
- CompilerResults.cs
- webproxy.cs
- BinaryUtilClasses.cs
- InvalidEnumArgumentException.cs
- SettingsPropertyNotFoundException.cs
- AggregatePushdown.cs
- CookielessHelper.cs
- EmbossBitmapEffect.cs
- Enlistment.cs
- TreeNodeCollection.cs
- ChooseAction.cs
- XPathNode.cs
- EmbeddedObject.cs
- Polyline.cs
- DataObjectCopyingEventArgs.cs
- SymbolEqualComparer.cs
- InstanceLockQueryResult.cs
- DataGridViewCellCancelEventArgs.cs
- DataGridViewRowPostPaintEventArgs.cs
- XomlSerializationHelpers.cs
- Overlapped.cs
- NameValueSectionHandler.cs
- KeyEvent.cs
- HeaderCollection.cs
- SqlConnectionStringBuilder.cs
- FontConverter.cs
- MessagingActivityHelper.cs
- SplashScreenNativeMethods.cs
- ToolStripContentPanelRenderEventArgs.cs
- InvalidWMPVersionException.cs
- UpdateManifestForBrowserApplication.cs
- ImmComposition.cs
- UIElementAutomationPeer.cs
- WebControlAdapter.cs
- ExpressionParser.cs
- XpsImage.cs
- CharConverter.cs
- InsufficientExecutionStackException.cs
- DocumentXmlWriter.cs
- MediaContext.cs
- MetadataArtifactLoaderResource.cs
- XmlDataSourceView.cs
- AppDomainFactory.cs
- messageonlyhwndwrapper.cs
- SecureUICommand.cs
- View.cs
- DispatcherHookEventArgs.cs
- SharedHttpsTransportManager.cs
- FlowLayoutPanel.cs
- Base64Stream.cs