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
- CommonObjectSecurity.cs
- HttpApplication.cs
- ObjectDataProvider.cs
- PropertyConverter.cs
- MetadataArtifactLoaderFile.cs
- JsonFormatWriterGenerator.cs
- EtwTrace.cs
- Evidence.cs
- ParameterModifier.cs
- GenericPrincipal.cs
- ReferentialConstraintRoleElement.cs
- RegisteredArrayDeclaration.cs
- SrgsRuleRef.cs
- ScrollData.cs
- DynamicValueConverter.cs
- DataGridViewCellMouseEventArgs.cs
- HTMLTagNameToTypeMapper.cs
- LoginCancelEventArgs.cs
- WpfXamlMember.cs
- TdsParser.cs
- DynamicMethod.cs
- MessageBox.cs
- NativeMethods.cs
- DoubleLinkListEnumerator.cs
- RulePatternOps.cs
- ChildrenQuery.cs
- ThumbAutomationPeer.cs
- ExternalException.cs
- PropertyConverter.cs
- EventLogEntryCollection.cs
- BindingMAnagerBase.cs
- PageSettings.cs
- NetSectionGroup.cs
- ArrayTypeMismatchException.cs
- ListViewTableCell.cs
- PathParser.cs
- DirectoryNotFoundException.cs
- Version.cs
- EnumValAlphaComparer.cs
- StoreAnnotationsMap.cs
- StylusEventArgs.cs
- ScrollBar.cs
- ExceptionNotification.cs
- SortExpressionBuilder.cs
- ContentType.cs
- CodeGotoStatement.cs
- HwndSource.cs
- ConsumerConnectionPointCollection.cs
- Shape.cs
- CompoundFileDeflateTransform.cs
- ActivityCodeDomSerializationManager.cs
- DtrList.cs
- WebPartDisplayModeCollection.cs
- XmlFormatMapping.cs
- WinCategoryAttribute.cs
- _PooledStream.cs
- CodeExpressionCollection.cs
- FixedDSBuilder.cs
- Stacktrace.cs
- StylusTip.cs
- NamespaceInfo.cs
- DBNull.cs
- AppDomain.cs
- CodeAttributeDeclaration.cs
- Inflater.cs
- ErrorRuntimeConfig.cs
- TransactionOptions.cs
- CodeTypeReference.cs
- NetworkStream.cs
- WorkerRequest.cs
- GeometryHitTestParameters.cs
- URI.cs
- SessionStateSection.cs
- ModifierKeysConverter.cs
- DatagridviewDisplayedBandsData.cs
- URLMembershipCondition.cs
- Journal.cs
- TransactionManager.cs
- SmiEventStream.cs
- WindowsAuthenticationModule.cs
- HexParser.cs
- OpenTypeCommon.cs
- MarkupCompiler.cs
- MergeFilterQuery.cs
- WaitHandleCannotBeOpenedException.cs
- ErrorHandler.cs
- TransactionOptions.cs
- RegisteredArrayDeclaration.cs
- TextElementEnumerator.cs
- WSSecurityOneDotZeroReceiveSecurityHeader.cs
- ImageSourceConverter.cs
- ProtocolsSection.cs
- ValidatorCollection.cs
- DbDataAdapter.cs
- EntityChangedParams.cs
- IdnElement.cs
- SQLDecimalStorage.cs
- TraceHwndHost.cs
- Application.cs
- X500Name.cs