Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Data / System / Data / DataColumnPropertyDescriptor.cs / 1 / 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
- EncryptedKey.cs
- StatusBarPanelClickEvent.cs
- SoapElementAttribute.cs
- DesignerDataTable.cs
- LineServicesCallbacks.cs
- VisualTransition.cs
- XmlUTF8TextReader.cs
- FrameworkContentElementAutomationPeer.cs
- ImplicitInputBrush.cs
- LocalizableAttribute.cs
- SortedSetDebugView.cs
- SignedPkcs7.cs
- FontSizeConverter.cs
- Visual3D.cs
- ConvertEvent.cs
- SettingsPropertyIsReadOnlyException.cs
- DataSetMappper.cs
- MailHeaderInfo.cs
- EntityContainerEntitySetDefiningQuery.cs
- ElapsedEventArgs.cs
- FormViewUpdateEventArgs.cs
- AttributeProviderAttribute.cs
- MetadataItemEmitter.cs
- RadioButton.cs
- XmlSerializationReader.cs
- BordersPage.cs
- BrushConverter.cs
- HTMLTextWriter.cs
- DbConnectionPool.cs
- AssemblyCache.cs
- DesignBinding.cs
- SchemaSetCompiler.cs
- SqlInfoMessageEvent.cs
- ScriptBehaviorDescriptor.cs
- XmlDeclaration.cs
- Token.cs
- LockedHandleGlyph.cs
- StrongNamePublicKeyBlob.cs
- KeyNameIdentifierClause.cs
- DataGridViewLinkCell.cs
- FixedPageStructure.cs
- MetadataFile.cs
- xamlnodes.cs
- GroupItem.cs
- DbModificationCommandTree.cs
- URI.cs
- DataChangedEventManager.cs
- ISessionStateStore.cs
- ElementUtil.cs
- PropertyChangeTracker.cs
- Pointer.cs
- UrlMappingsModule.cs
- OleDbWrapper.cs
- DispatchOperationRuntime.cs
- IgnoreDeviceFilterElement.cs
- IndexExpression.cs
- DataKeyCollection.cs
- RectangleGeometry.cs
- ContentPropertyAttribute.cs
- ParentUndoUnit.cs
- ServiceOperationDetailViewControl.cs
- BitmapImage.cs
- SqlConnectionPoolProviderInfo.cs
- DecimalAnimationBase.cs
- Package.cs
- ApplicationManager.cs
- TimeStampChecker.cs
- XmlConvert.cs
- ForwardPositionQuery.cs
- mansign.cs
- XmlObjectSerializerContext.cs
- RijndaelManagedTransform.cs
- UnmanagedMemoryStreamWrapper.cs
- VirtualDirectoryMapping.cs
- InstancePersistenceCommand.cs
- precedingsibling.cs
- SubMenuStyleCollection.cs
- XmlILOptimizerVisitor.cs
- FrameworkContextData.cs
- ManipulationDevice.cs
- JournalEntryListConverter.cs
- TextBox.cs
- ReflectionTypeLoadException.cs
- CryptographicAttribute.cs
- ColumnMap.cs
- ClosableStream.cs
- Quaternion.cs
- ObjectDisposedException.cs
- WebBrowser.cs
- StrokeRenderer.cs
- DataKey.cs
- CompositeKey.cs
- WindowsIPAddress.cs
- SubpageParagraph.cs
- ServiceDeploymentInfo.cs
- MultiDataTrigger.cs
- TextSelectionHelper.cs
- PlaceHolder.cs
- ContractMapping.cs
- RowToParametersTransformer.cs