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
- TimeManager.cs
- HandlerFactoryWrapper.cs
- SrgsElementFactory.cs
- TraceUtils.cs
- SpotLight.cs
- NotifyIcon.cs
- Brush.cs
- GridViewEditEventArgs.cs
- XmlArrayAttribute.cs
- DesignBindingEditor.cs
- CatalogZoneBase.cs
- NativeMethods.cs
- Run.cs
- WizardForm.cs
- TickBar.cs
- ThicknessConverter.cs
- MobileListItemCollection.cs
- TextSimpleMarkerProperties.cs
- EventLogEntry.cs
- SqlConnection.cs
- QilSortKey.cs
- DataRowComparer.cs
- DefaultPropertyAttribute.cs
- NestedContainer.cs
- DateTimeFormatInfo.cs
- SplashScreenNativeMethods.cs
- MiniAssembly.cs
- ParseChildrenAsPropertiesAttribute.cs
- ellipse.cs
- VersionPair.cs
- ActivityCodeDomSerializationManager.cs
- SqlPersonalizationProvider.cs
- Pen.cs
- MediaPlayer.cs
- DocumentGrid.cs
- CLSCompliantAttribute.cs
- SemaphoreFullException.cs
- PlaceHolder.cs
- ScrollItemPattern.cs
- ThicknessAnimation.cs
- ApplicationFileParser.cs
- DataGridItemEventArgs.cs
- Binding.cs
- StorageMappingItemLoader.cs
- XmlRawWriter.cs
- Panel.cs
- TargetInvocationException.cs
- ImmutableClientRuntime.cs
- SafeRightsManagementPubHandle.cs
- PersistenceTypeAttribute.cs
- ResourceWriter.cs
- BackgroundFormatInfo.cs
- ImageBrush.cs
- ActivityExecutor.cs
- CustomSignedXml.cs
- RemotingAttributes.cs
- OleDbParameter.cs
- InputProviderSite.cs
- SiteMapPath.cs
- CacheMemory.cs
- MarkupWriter.cs
- ArgumentException.cs
- DataGrid.cs
- NeutralResourcesLanguageAttribute.cs
- BroadcastEventHelper.cs
- Timeline.cs
- ValidationHelpers.cs
- PeerFlooder.cs
- HyperLinkColumn.cs
- util.cs
- BinaryNode.cs
- StylusPointPropertyInfoDefaults.cs
- PropertyDescriptorGridEntry.cs
- XamlHostingSection.cs
- AnimationTimeline.cs
- ReadOnlyCollection.cs
- AttributeExtensions.cs
- PropertyGrid.cs
- ElapsedEventArgs.cs
- PackageStore.cs
- wmiutil.cs
- HostedNamedPipeTransportManager.cs
- XmlElementList.cs
- SelectionRange.cs
- InputMethod.cs
- Expressions.cs
- StaticExtensionConverter.cs
- CacheSection.cs
- DbConnectionHelper.cs
- ExternalCalls.cs
- ProjectedWrapper.cs
- DockPanel.cs
- ProfileProvider.cs
- AppSettingsExpressionEditor.cs
- WebPartZone.cs
- WindowHideOrCloseTracker.cs
- XamlTreeBuilder.cs
- XmlSchemaAppInfo.cs
- ImageBrush.cs
- TransformValueSerializer.cs