Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / DataColumnPropertyDescriptor.cs / 1305376 / 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
- IODescriptionAttribute.cs
- XmlObjectSerializer.cs
- arc.cs
- NullableFloatAverageAggregationOperator.cs
- BaseDataList.cs
- HyperLinkDesigner.cs
- ZipIOModeEnforcingStream.cs
- ToolStripPanelRenderEventArgs.cs
- MediaTimeline.cs
- PartitionResolver.cs
- COM2ColorConverter.cs
- TextBoxAutomationPeer.cs
- TypeNameConverter.cs
- ToolStripContentPanelRenderEventArgs.cs
- ReflectionPermission.cs
- TypeToken.cs
- DetailsViewUpdatedEventArgs.cs
- XmlMapping.cs
- DesignerValidationSummaryAdapter.cs
- DoubleIndependentAnimationStorage.cs
- SystemTcpConnection.cs
- Filter.cs
- EntityTransaction.cs
- HttpStreamXmlDictionaryReader.cs
- Bold.cs
- DbMetaDataColumnNames.cs
- SoapCodeExporter.cs
- PartialCachingControl.cs
- EditingCoordinator.cs
- XmlDocumentViewSchema.cs
- ScriptResourceInfo.cs
- SponsorHelper.cs
- CodeIdentifier.cs
- _NegotiateClient.cs
- WeakReferenceEnumerator.cs
- ReachPageContentCollectionSerializer.cs
- SqlDataSourceFilteringEventArgs.cs
- Point3DAnimationBase.cs
- InputLanguageEventArgs.cs
- MappingSource.cs
- CqlParser.cs
- PartManifestEntry.cs
- DataGridViewHeaderCell.cs
- PolicyStatement.cs
- TypedAsyncResult.cs
- URIFormatException.cs
- ExpressionNode.cs
- StandardRuntimeEnumValidatorAttribute.cs
- TiffBitmapDecoder.cs
- LinqDataSourceContextEventArgs.cs
- Type.cs
- MessagePropertyDescription.cs
- GridView.cs
- DataTemplateKey.cs
- QuaternionConverter.cs
- MarkupCompilePass1.cs
- ToggleButtonAutomationPeer.cs
- processwaithandle.cs
- WebPartUtil.cs
- DbConnectionPoolCounters.cs
- InputLanguageEventArgs.cs
- CallbackHandler.cs
- HttpVersion.cs
- DataGridBoolColumn.cs
- NumericUpDown.cs
- TrustManagerMoreInformation.cs
- DefaultAssemblyResolver.cs
- Scripts.cs
- CellConstantDomain.cs
- CodeDefaultValueExpression.cs
- RegularExpressionValidator.cs
- __ComObject.cs
- IisTraceWebEventProvider.cs
- IOThreadTimer.cs
- ArrayList.cs
- QuaternionIndependentAnimationStorage.cs
- FixedSOMTextRun.cs
- FixedBufferAttribute.cs
- Point3DIndependentAnimationStorage.cs
- NativeMethods.cs
- DbCommandTree.cs
- _NTAuthentication.cs
- SqlGatherProducedAliases.cs
- ContextMenu.cs
- BindingMemberInfo.cs
- MailMessageEventArgs.cs
- ReachPageContentCollectionSerializer.cs
- DataGridTablesFactory.cs
- TransformGroup.cs
- PropertyPushdownHelper.cs
- DATA_BLOB.cs
- RequiredFieldValidator.cs
- RequestQueue.cs
- TextTreeRootNode.cs
- XslUrlEditor.cs
- SimpleExpression.cs
- XmlChildEnumerator.cs
- HttpUnhandledOperationInvoker.cs
- CellConstantDomain.cs
- BindingContext.cs