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
![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
- SoapFault.cs
- HiddenField.cs
- Guid.cs
- RelationshipConverter.cs
- ConstantProjectedSlot.cs
- DSASignatureDeformatter.cs
- PauseStoryboard.cs
- HttpCapabilitiesSectionHandler.cs
- DocumentViewerBase.cs
- DnsPermission.cs
- CharKeyFrameCollection.cs
- Application.cs
- Stroke.cs
- ContainerControlDesigner.cs
- KoreanCalendar.cs
- ExpressionBinding.cs
- XmlValidatingReaderImpl.cs
- XmlToDatasetMap.cs
- httpstaticobjectscollection.cs
- LineMetrics.cs
- ViewGenerator.cs
- RegistryKey.cs
- SchemaElementDecl.cs
- GridProviderWrapper.cs
- PackUriHelper.cs
- Renderer.cs
- WindowsEditBox.cs
- MeshGeometry3D.cs
- HostVisual.cs
- ToolStripItem.cs
- TabPanel.cs
- SkinIDTypeConverter.cs
- PagePropertiesChangingEventArgs.cs
- TextRenderingModeValidation.cs
- SelfSignedCertificate.cs
- QueryContinueDragEvent.cs
- XmlUnspecifiedAttribute.cs
- ResourcesBuildProvider.cs
- TextSpanModifier.cs
- StrokeCollectionConverter.cs
- RIPEMD160.cs
- BaseEntityWrapper.cs
- EmptyEnumerator.cs
- AsyncOperationManager.cs
- SecurityResources.cs
- ResXResourceWriter.cs
- ExtensionWindow.cs
- WmpBitmapDecoder.cs
- MatrixCamera.cs
- AutomationPeer.cs
- DataListItem.cs
- Native.cs
- DataListItemCollection.cs
- Visual3D.cs
- StringInfo.cs
- WindowsToolbarItemAsMenuItem.cs
- BuildResultCache.cs
- DesignerLinkAdapter.cs
- WebPartCatalogAddVerb.cs
- ConnectionConsumerAttribute.cs
- TemplateBamlTreeBuilder.cs
- FixedSOMImage.cs
- CharacterMetricsDictionary.cs
- EdmFunction.cs
- InvalidContentTypeException.cs
- EncodingTable.cs
- UnsafeNativeMethods.cs
- ImageListImage.cs
- Color.cs
- TemplateBindingExpression.cs
- Sentence.cs
- ResourceAttributes.cs
- PhoneCallDesigner.cs
- CheckBox.cs
- XmlUtf8RawTextWriter.cs
- DataSetMappper.cs
- TemplateKeyConverter.cs
- ReferentialConstraint.cs
- configsystem.cs
- SymbolEqualComparer.cs
- HttpCookieCollection.cs
- CacheVirtualItemsEvent.cs
- Funcletizer.cs
- SoapSchemaExporter.cs
- TableLayoutColumnStyleCollection.cs
- FamilyTypeface.cs
- Attributes.cs
- ActivityPropertyReference.cs
- InplaceBitmapMetadataWriter.cs
- MetabaseServerConfig.cs
- HtmlInputSubmit.cs
- BookmarkOptionsHelper.cs
- _BufferOffsetSize.cs
- InboundActivityHelper.cs
- Attributes.cs
- TextAction.cs
- CaretElement.cs
- TransactionInformation.cs
- OdbcReferenceCollection.cs
- RelatedPropertyManager.cs