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
- CommonObjectSecurity.cs
- ActiveDocumentEvent.cs
- DispatcherSynchronizationContext.cs
- ButtonColumn.cs
- ObjectDataSourceFilteringEventArgs.cs
- Util.cs
- EntityDesignerDataSourceView.cs
- BlobPersonalizationState.cs
- DrawingContextDrawingContextWalker.cs
- InkCanvasAutomationPeer.cs
- EventSetter.cs
- XmlAnyAttributeAttribute.cs
- TemplatedMailWebEventProvider.cs
- XmlHierarchicalEnumerable.cs
- EntityDataSourceReferenceGroup.cs
- TypeDelegator.cs
- DocumentsTrace.cs
- SiteMapProvider.cs
- DesignBindingPicker.cs
- BrowsableAttribute.cs
- PersianCalendar.cs
- BrushMappingModeValidation.cs
- Rect.cs
- TypeReference.cs
- RectAnimation.cs
- OutputCacheSettingsSection.cs
- SqlProviderManifest.cs
- AmbientValueAttribute.cs
- DesignerDataColumn.cs
- SiteMapNodeCollection.cs
- DiagnosticTrace.cs
- TrustLevelCollection.cs
- SqlNotificationRequest.cs
- StorageBasedPackageProperties.cs
- TemplateXamlParser.cs
- RegexRunnerFactory.cs
- MultiPropertyDescriptorGridEntry.cs
- CapiSymmetricAlgorithm.cs
- TextAdaptor.cs
- XmlNodeChangedEventArgs.cs
- SpecialNameAttribute.cs
- SafeCloseHandleCritical.cs
- StickyNote.cs
- TextStore.cs
- WindowsToolbar.cs
- ListViewContainer.cs
- RenderingEventArgs.cs
- Serializer.cs
- ApplicationSettingsBase.cs
- SiteMapNodeCollection.cs
- CryptoHelper.cs
- PrivateFontCollection.cs
- DesignerView.cs
- Latin1Encoding.cs
- CurrencyWrapper.cs
- RangeValuePattern.cs
- VideoDrawing.cs
- WindowsIPAddress.cs
- CollectionChangedEventManager.cs
- InsufficientMemoryException.cs
- EndEvent.cs
- OdbcParameterCollection.cs
- ApplicationActivator.cs
- activationcontext.cs
- EntityDataSourceChangingEventArgs.cs
- HtmlAnchor.cs
- AnchoredBlock.cs
- SqlAggregateChecker.cs
- UnaryOperationBinder.cs
- SimpleWorkerRequest.cs
- XmlDictionaryWriter.cs
- ObjectQuery_EntitySqlExtensions.cs
- BindingListCollectionView.cs
- ClockController.cs
- StringStorage.cs
- DataSysAttribute.cs
- PopupControlService.cs
- PixelFormatConverter.cs
- WMIInterop.cs
- DataSetUtil.cs
- ISessionStateStore.cs
- DefaultHttpHandler.cs
- CodeTypeMemberCollection.cs
- XmlExpressionDumper.cs
- WebBaseEventKeyComparer.cs
- OdbcDataReader.cs
- PlanCompiler.cs
- Content.cs
- StringConverter.cs
- ImageMapEventArgs.cs
- Message.cs
- DesignerFrame.cs
- AttributeCollection.cs
- RecommendedAsConfigurableAttribute.cs
- AssemblyResourceLoader.cs
- AesCryptoServiceProvider.cs
- Journaling.cs
- TextPenaltyModule.cs
- UIElement3DAutomationPeer.cs
- ClientCultureInfo.cs