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
- DeclarativeCatalogPart.cs
- HyperLinkDataBindingHandler.cs
- HighContrastHelper.cs
- SrgsToken.cs
- BitmapSizeOptions.cs
- ProxyWebPartConnectionCollection.cs
- NonParentingControl.cs
- Variant.cs
- AuthenticationService.cs
- XmlSchemaAnnotated.cs
- NameObjectCollectionBase.cs
- DataGridViewCellParsingEventArgs.cs
- ConfigXmlWhitespace.cs
- SqlDataAdapter.cs
- SqlEnums.cs
- EventOpcode.cs
- SecUtil.cs
- DataSourceHelper.cs
- TableLayoutSettingsTypeConverter.cs
- XmlChoiceIdentifierAttribute.cs
- Simplifier.cs
- SiteOfOriginPart.cs
- WebPartConnectionsEventArgs.cs
- UnsafeNativeMethods.cs
- DockPanel.cs
- RadioButtonPopupAdapter.cs
- JournalNavigationScope.cs
- DesignerDataParameter.cs
- GeometryCollection.cs
- ImageBrush.cs
- LayoutInformation.cs
- TokenBasedSet.cs
- TextElement.cs
- BeginStoryboard.cs
- MutexSecurity.cs
- SocketPermission.cs
- SelectionPatternIdentifiers.cs
- TrustSection.cs
- NodeFunctions.cs
- ToolStripMenuItem.cs
- FormViewPagerRow.cs
- DSACryptoServiceProvider.cs
- ActivityXRefConverter.cs
- ListMarkerSourceInfo.cs
- XsdValidatingReader.cs
- CacheSection.cs
- BindingExpressionBase.cs
- UIAgentMonitor.cs
- ListItemCollection.cs
- ConnectionInterfaceCollection.cs
- WebExceptionStatus.cs
- Substitution.cs
- DataBoundControlParameterTarget.cs
- QilSortKey.cs
- XmlSchemaException.cs
- Effect.cs
- ConnectionStringSettings.cs
- MetafileHeaderWmf.cs
- ComAwareEventInfo.cs
- ProcessHost.cs
- XmlTextReader.cs
- DesignRelation.cs
- SqlDataAdapter.cs
- _SslStream.cs
- CustomAttribute.cs
- GridItem.cs
- DateTimeFormat.cs
- PartialTrustHelpers.cs
- x509utils.cs
- mactripleDES.cs
- FilteredDataSetHelper.cs
- ExclusiveTcpTransportManager.cs
- SecurityIdentifierElement.cs
- WindowsScrollBarBits.cs
- WeakKeyDictionary.cs
- ContainerParaClient.cs
- DataObjectMethodAttribute.cs
- ObjectDataProvider.cs
- assertwrapper.cs
- DirectoryGroupQuery.cs
- EventDriven.cs
- BitmapEffect.cs
- TextRunProperties.cs
- PtsHelper.cs
- UdpChannelFactory.cs
- AspNetSynchronizationContext.cs
- SizeAnimationUsingKeyFrames.cs
- AmbiguousMatchException.cs
- ExceptionNotification.cs
- ClientUrlResolverWrapper.cs
- TogglePatternIdentifiers.cs
- EventWaitHandleSecurity.cs
- ThreadPool.cs
- Renderer.cs
- WebPartConnectionCollection.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- BaseTemplateBuildProvider.cs
- CodeNamespace.cs
- EventLogPermissionEntryCollection.cs
- FtpWebResponse.cs