Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / DataColumnPropertyDescriptor.cs / 1305376 / DataColumnPropertyDescriptor.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data { using System.Diagnostics; using System.ComponentModel; using System.Data.Common; internal sealed class DataColumnPropertyDescriptor : PropertyDescriptor { DataColumn column; internal DataColumnPropertyDescriptor(DataColumn dataColumn) : base(dataColumn.ColumnName, null) { this.column = dataColumn; } public override AttributeCollection Attributes { get { if (typeof(System.Collections.IList).IsAssignableFrom(this.PropertyType)) { Attribute[] attrs = new Attribute[base.Attributes.Count + 1]; base.Attributes.CopyTo(attrs, 0); // we don't want to show the columns which are of type IList in the designer attrs[attrs.Length - 1] = new ListBindableAttribute(false); return new AttributeCollection(attrs); } else { return base.Attributes; } } } internal DataColumn Column { get { return column; } } public override Type ComponentType { get { return typeof(DataRowView); } } public override bool IsReadOnly { get { return column.ReadOnly; } } public override Type PropertyType { get { return column.DataType; } } public override bool Equals(object other) { if (other is DataColumnPropertyDescriptor) { DataColumnPropertyDescriptor descriptor = (DataColumnPropertyDescriptor) other; return(descriptor.Column == Column); } return false; } public override Int32 GetHashCode() { return Column.GetHashCode(); } public override bool CanResetValue(object component) { DataRowView dataRowView = (DataRowView) component; if (!column.IsSqlType) return (dataRowView.GetColumnValue(column) != DBNull.Value); return (!DataStorage.IsObjectNull(dataRowView.GetColumnValue(column))); } public override object GetValue(object component) { DataRowView dataRowView = (DataRowView) component; return dataRowView.GetColumnValue(column); } public override void ResetValue(object component) { DataRowView dataRowView = (DataRowView) component; dataRowView.SetColumnValue(column, DBNull.Value);// no need to ccheck for the col type and set Sql...Null! } public override void SetValue(object component, object value) { DataRowView dataRowView = (DataRowView) component; dataRowView.SetColumnValue(column, value); OnValueChanged(component, EventArgs.Empty); } public override bool ShouldSerializeValue(object component) { return false; } public override bool IsBrowsable { get { return (column.ColumnMapping == System.Data.MappingType.Hidden ? false : base.IsBrowsable); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data { using System.Diagnostics; using System.ComponentModel; using System.Data.Common; internal sealed class DataColumnPropertyDescriptor : PropertyDescriptor { DataColumn column; internal DataColumnPropertyDescriptor(DataColumn dataColumn) : base(dataColumn.ColumnName, null) { this.column = dataColumn; } public override AttributeCollection Attributes { get { if (typeof(System.Collections.IList).IsAssignableFrom(this.PropertyType)) { Attribute[] attrs = new Attribute[base.Attributes.Count + 1]; base.Attributes.CopyTo(attrs, 0); // we don't want to show the columns which are of type IList in the designer attrs[attrs.Length - 1] = new ListBindableAttribute(false); return new AttributeCollection(attrs); } else { return base.Attributes; } } } internal DataColumn Column { get { return column; } } public override Type ComponentType { get { return typeof(DataRowView); } } public override bool IsReadOnly { get { return column.ReadOnly; } } public override Type PropertyType { get { return column.DataType; } } public override bool Equals(object other) { if (other is DataColumnPropertyDescriptor) { DataColumnPropertyDescriptor descriptor = (DataColumnPropertyDescriptor) other; return(descriptor.Column == Column); } return false; } public override Int32 GetHashCode() { return Column.GetHashCode(); } public override bool CanResetValue(object component) { DataRowView dataRowView = (DataRowView) component; if (!column.IsSqlType) return (dataRowView.GetColumnValue(column) != DBNull.Value); return (!DataStorage.IsObjectNull(dataRowView.GetColumnValue(column))); } public override object GetValue(object component) { DataRowView dataRowView = (DataRowView) component; return dataRowView.GetColumnValue(column); } public override void ResetValue(object component) { DataRowView dataRowView = (DataRowView) component; dataRowView.SetColumnValue(column, DBNull.Value);// no need to ccheck for the col type and set Sql...Null! } public override void SetValue(object component, object value) { DataRowView dataRowView = (DataRowView) component; dataRowView.SetColumnValue(column, value); OnValueChanged(component, EventArgs.Empty); } public override bool ShouldSerializeValue(object component) { return false; } public override bool IsBrowsable { get { return (column.ColumnMapping == System.Data.MappingType.Hidden ? false : base.IsBrowsable); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DetailsViewInsertEventArgs.cs
- PackageDigitalSignatureManager.cs
- IxmlLineInfo.cs
- X509ScopedServiceCertificateElementCollection.cs
- SqlTypesSchemaImporter.cs
- ToolboxSnapDragDropEventArgs.cs
- TextEncodedRawTextWriter.cs
- BasicHttpSecurityElement.cs
- Soap.cs
- TextModifier.cs
- FilterQueryOptionExpression.cs
- ImmutableObjectAttribute.cs
- ExpressionBuilderContext.cs
- AudioBase.cs
- SharedHttpTransportManager.cs
- ProcessModule.cs
- SelectionEditor.cs
- WebPartDisplayModeCancelEventArgs.cs
- CodeDomSerializerException.cs
- HtmlSelect.cs
- TextBox.cs
- SystemIPAddressInformation.cs
- XmlSchemaAppInfo.cs
- ComAwareEventInfo.cs
- MouseGestureConverter.cs
- CorrelationKeyCalculator.cs
- Control.cs
- UrlPropertyAttribute.cs
- RoleManagerSection.cs
- GlyphInfoList.cs
- StyleCollectionEditor.cs
- ContentTextAutomationPeer.cs
- SqlTriggerAttribute.cs
- MsmqIntegrationMessagePool.cs
- ObjectAnimationUsingKeyFrames.cs
- DataSvcMapFile.cs
- RenderContext.cs
- NonParentingControl.cs
- DocumentXPathNavigator.cs
- TabControlToolboxItem.cs
- IsolatedStorageFile.cs
- BinaryNode.cs
- EntityContainerEntitySetDefiningQuery.cs
- _OverlappedAsyncResult.cs
- XamlNamespaceHelper.cs
- DataGridBoolColumn.cs
- RoutedUICommand.cs
- FunctionQuery.cs
- ExpressionNormalizer.cs
- BasicViewGenerator.cs
- PropertyRecord.cs
- DataGridRow.cs
- DeferrableContentConverter.cs
- ImageButton.cs
- InitializerFacet.cs
- PropertyValidationContext.cs
- HtmlElement.cs
- HttpRequestCacheValidator.cs
- TextServicesPropertyRanges.cs
- Parameter.cs
- DataColumnMapping.cs
- PropertyContainer.cs
- ObjectDataSourceView.cs
- Int32Collection.cs
- AQNBuilder.cs
- PathGradientBrush.cs
- MasterPage.cs
- ConfigurationManagerHelper.cs
- DataServiceQueryContinuation.cs
- LayoutEngine.cs
- DeploymentSectionCache.cs
- AuthenticationException.cs
- KeyValuePairs.cs
- PixelFormats.cs
- TrackingProfileCache.cs
- HasCopySemanticsAttribute.cs
- QilCloneVisitor.cs
- RemotingConfigParser.cs
- HttpsHostedTransportConfiguration.cs
- WindowsFormsHostPropertyMap.cs
- FocusTracker.cs
- NeutralResourcesLanguageAttribute.cs
- DataIdProcessor.cs
- TdsParserStaticMethods.cs
- HtmlMeta.cs
- DataControlButton.cs
- ProtocolsConfigurationEntry.cs
- MenuItem.cs
- FileResponseElement.cs
- MessageSmuggler.cs
- FontDifferentiator.cs
- TableStyle.cs
- KeyValueInternalCollection.cs
- SatelliteContractVersionAttribute.cs
- PseudoWebRequest.cs
- DateBoldEvent.cs
- OciLobLocator.cs
- CustomError.cs
- BitmapEffectGroup.cs
- PageCatalogPart.cs