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
- HttpDictionary.cs
- MouseEventArgs.cs
- DBCommand.cs
- PointKeyFrameCollection.cs
- DependencyPropertyChangedEventArgs.cs
- BindingSourceDesigner.cs
- WebConfigurationHost.cs
- Model3D.cs
- RuntimeArgumentHandle.cs
- WebServiceTypeData.cs
- OleDbDataReader.cs
- ClientRuntime.cs
- ServiceOperation.cs
- CodeEventReferenceExpression.cs
- DataRecord.cs
- ApplicationDirectoryMembershipCondition.cs
- ServiceManager.cs
- ApplicationBuildProvider.cs
- GroupBoxAutomationPeer.cs
- IInstanceTable.cs
- Rotation3DAnimation.cs
- CodeNamespaceImport.cs
- UnitySerializationHolder.cs
- RotationValidation.cs
- MethodToken.cs
- TypeName.cs
- Renderer.cs
- EncoderParameters.cs
- hebrewshape.cs
- TableParaClient.cs
- ProvidersHelper.cs
- MetadataArtifactLoader.cs
- Main.cs
- XmlSchemaSimpleTypeList.cs
- UIElement3D.cs
- RepeaterItemEventArgs.cs
- XmlBinaryReader.cs
- SerializationEventsCache.cs
- UpdatePanel.cs
- CompositeCollectionView.cs
- QueryableFilterUserControl.cs
- WebServiceMethodData.cs
- XmlNamespaceDeclarationsAttribute.cs
- HwndStylusInputProvider.cs
- ManagedWndProcTracker.cs
- RegistryExceptionHelper.cs
- PenThreadWorker.cs
- MetadataHelper.cs
- UnregisterInfo.cs
- ProcessHostFactoryHelper.cs
- TextShapeableCharacters.cs
- LogSwitch.cs
- _NtlmClient.cs
- ExpressionTextBox.xaml.cs
- SerializerWriterEventHandlers.cs
- LogSwitch.cs
- FontClient.cs
- FontStretches.cs
- GeometryModel3D.cs
- DesignerTransaction.cs
- EFTableProvider.cs
- PerformanceCounterPermissionEntry.cs
- dbdatarecord.cs
- TextProviderWrapper.cs
- Win32.cs
- LinkUtilities.cs
- EntityDataSourceUtil.cs
- MemberBinding.cs
- ManipulationInertiaStartingEventArgs.cs
- WindowCollection.cs
- AspCompat.cs
- TargetConverter.cs
- CheckBoxStandardAdapter.cs
- UnmanagedHandle.cs
- ExtentKey.cs
- Persist.cs
- ToolStripDesigner.cs
- RepeatBehavior.cs
- ConnectionPointCookie.cs
- EncryptedPackage.cs
- Expression.cs
- TextTreePropertyUndoUnit.cs
- AccessText.cs
- DetailsViewInsertEventArgs.cs
- AuthorizationPolicyTypeElementCollection.cs
- CacheSection.cs
- XmlILOptimizerVisitor.cs
- CompilerState.cs
- HttpAsyncResult.cs
- ListViewGroupCollectionEditor.cs
- x509store.cs
- RSAProtectedConfigurationProvider.cs
- Visitors.cs
- PrintDialog.cs
- SecurityPolicySection.cs
- PackagePartCollection.cs
- HttpException.cs
- MemoryRecordBuffer.cs
- SqlConnectionString.cs
- FixedElement.cs