Code:
/ FX-1434 / FX-1434 / 1.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
- DecimalConstantAttribute.cs
- OperationResponse.cs
- SimpleApplicationHost.cs
- AmbientLight.cs
- MouseEventArgs.cs
- SqlInternalConnectionSmi.cs
- SchemaImporter.cs
- DecimalStorage.cs
- ItemsControl.cs
- RoleGroup.cs
- HelloMessageApril2005.cs
- ObfuscateAssemblyAttribute.cs
- ProcessInfo.cs
- LinkedResource.cs
- XamlStream.cs
- KeyValueInternalCollection.cs
- ObjectView.cs
- SecurityUtils.cs
- FileInfo.cs
- SelectingProviderEventArgs.cs
- DllNotFoundException.cs
- SchemaMapping.cs
- XmlElement.cs
- SoundPlayer.cs
- DeviceContexts.cs
- EmbeddedMailObjectsCollection.cs
- HtmlInputImage.cs
- FileAuthorizationModule.cs
- CorrelationTokenInvalidatedHandler.cs
- CustomErrorsSectionWrapper.cs
- SettingsAttributeDictionary.cs
- DataSpaceManager.cs
- InheritedPropertyChangedEventArgs.cs
- OletxEnlistment.cs
- IntranetCredentialPolicy.cs
- XmlSchemaExternal.cs
- Operand.cs
- CompilerHelpers.cs
- BindToObject.cs
- UIElementHelper.cs
- ObjectDataSourceSelectingEventArgs.cs
- X509ChainPolicy.cs
- WebPartVerbsEventArgs.cs
- XmlWriterTraceListener.cs
- RuntimeHelpers.cs
- WebSysDisplayNameAttribute.cs
- AsymmetricSignatureDeformatter.cs
- WindowsGraphics.cs
- TextDecorationCollection.cs
- UnsignedPublishLicense.cs
- DoubleCollection.cs
- Highlights.cs
- BooleanAnimationUsingKeyFrames.cs
- MessageContractExporter.cs
- DataFormats.cs
- XmlNotation.cs
- KnownTypeHelper.cs
- CLSCompliantAttribute.cs
- TypeToArgumentTypeConverter.cs
- PropertySourceInfo.cs
- RelationshipNavigation.cs
- ResourceType.cs
- TileBrush.cs
- ViewValidator.cs
- NotifyParentPropertyAttribute.cs
- DigestComparer.cs
- Number.cs
- DbConnectionPoolIdentity.cs
- BoolExpressionVisitors.cs
- FormsAuthenticationCredentials.cs
- PowerStatus.cs
- ChangeInterceptorAttribute.cs
- DataBindingExpressionBuilder.cs
- Translator.cs
- CorrelationValidator.cs
- AbsoluteQuery.cs
- Gdiplus.cs
- BitmapEncoder.cs
- StrokeCollectionDefaultValueFactory.cs
- WebService.cs
- NeutralResourcesLanguageAttribute.cs
- GB18030Encoding.cs
- UniformGrid.cs
- DoWorkEventArgs.cs
- KeyGestureConverter.cs
- XmlObjectSerializerReadContextComplex.cs
- CaseStatementSlot.cs
- ReadOnlyObservableCollection.cs
- DataFormat.cs
- Point3DAnimationUsingKeyFrames.cs
- _SslSessionsCache.cs
- SplitterDesigner.cs
- EnumMemberAttribute.cs
- XamlSerializerUtil.cs
- TextFindEngine.cs
- ProviderConnectionPointCollection.cs
- ListViewPagedDataSource.cs
- FutureFactory.cs
- UriTemplatePathSegment.cs
- DataColumnCollection.cs