Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- IdentityReference.cs
- XmlFormatExtensionPointAttribute.cs
- JournalEntryListConverter.cs
- AuthenticationConfig.cs
- BorderSidesEditor.cs
- ClientScriptManagerWrapper.cs
- ObjectParameter.cs
- AliasGenerator.cs
- ADMembershipUser.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- TagMapCollection.cs
- ListenerBinder.cs
- SoapRpcMethodAttribute.cs
- CodeCommentStatement.cs
- IIS7ConfigurationLoader.cs
- HashCodeCombiner.cs
- SrgsOneOf.cs
- GlyphRunDrawing.cs
- ImageConverter.cs
- RequestTimeoutManager.cs
- LinqDataSourceStatusEventArgs.cs
- WebEvents.cs
- QilSortKey.cs
- ExtendedProtectionPolicy.cs
- FormsAuthenticationConfiguration.cs
- DataGridTablesFactory.cs
- BinaryNode.cs
- CustomErrorsSection.cs
- CompatibleComparer.cs
- DataBoundControl.cs
- StringAnimationBase.cs
- KernelTypeValidation.cs
- Char.cs
- ArglessEventHandlerProxy.cs
- validationstate.cs
- PersonalizableAttribute.cs
- TargetInvocationException.cs
- EditorZoneBase.cs
- LabelAutomationPeer.cs
- Hex.cs
- GenericEnumerator.cs
- SequenceRange.cs
- ReadOnlyTernaryTree.cs
- ContentPathSegment.cs
- WhitespaceRuleReader.cs
- SpotLight.cs
- DataObjectPastingEventArgs.cs
- TextBounds.cs
- XmlDesigner.cs
- Int16.cs
- ProxyDataContractResolver.cs
- SafeThreadHandle.cs
- EdmSchemaError.cs
- SafeFileMappingHandle.cs
- Int32.cs
- BStrWrapper.cs
- DataGridViewImageCell.cs
- SequenceQuery.cs
- SchemaType.cs
- Light.cs
- ManagedFilter.cs
- SqlErrorCollection.cs
- Pkcs9Attribute.cs
- CustomAssemblyResolver.cs
- XmlNamespaceMapping.cs
- RemotingException.cs
- RuleProcessor.cs
- KeyedCollection.cs
- DataGridViewColumnCollection.cs
- CompensationExtension.cs
- Pens.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- MimeBasePart.cs
- ExceptionTranslationTable.cs
- Expressions.cs
- EntityException.cs
- CompiledIdentityConstraint.cs
- MachineKeySection.cs
- HandleCollector.cs
- ReferentialConstraintRoleElement.cs
- DBSchemaTable.cs
- Executor.cs
- XMLDiffLoader.cs
- ProviderConnectionPoint.cs
- RepeatBehavior.cs
- ServiceOperationListItemList.cs
- AnonymousIdentificationModule.cs
- StateBag.cs
- RectConverter.cs
- InternalException.cs
- HostnameComparisonMode.cs
- storepermission.cs
- WebServicesDescriptionAttribute.cs
- FilterElement.cs
- ISAPIApplicationHost.cs
- Fonts.cs
- CodeSnippetStatement.cs
- EntityWithKeyStrategy.cs
- SqlClientMetaDataCollectionNames.cs
- MgmtConfigurationRecord.cs