Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- UpdateException.cs
- Decoder.cs
- ScriptingAuthenticationServiceSection.cs
- AttachedPropertyBrowsableAttribute.cs
- MessageOperationFormatter.cs
- TriggerCollection.cs
- ListBindingConverter.cs
- ToolStripContainerDesigner.cs
- RectangleHotSpot.cs
- documentsequencetextview.cs
- WpfWebRequestHelper.cs
- Rotation3DKeyFrameCollection.cs
- ECDiffieHellmanCng.cs
- SortAction.cs
- RijndaelManagedTransform.cs
- CatalogZone.cs
- HybridObjectCache.cs
- TokenizerHelper.cs
- KeysConverter.cs
- AnnotationHighlightLayer.cs
- CqlIdentifiers.cs
- COM2ExtendedUITypeEditor.cs
- XmlSerializerFactory.cs
- StoreItemCollection.cs
- PolyLineSegment.cs
- MembershipUser.cs
- AppDomainManager.cs
- NetPipeSection.cs
- DataTemplateKey.cs
- GreenMethods.cs
- TrackingProfileCache.cs
- FixUpCollection.cs
- HWStack.cs
- NamedPipeActivation.cs
- CheckBox.cs
- Misc.cs
- Debugger.cs
- Subtree.cs
- ValueChangedEventManager.cs
- StrokeNodeEnumerator.cs
- NameValueConfigurationElement.cs
- StrongNameUtility.cs
- SqlDuplicator.cs
- CustomError.cs
- ImageList.cs
- Section.cs
- WpfXamlMember.cs
- HttpClientCertificate.cs
- HttpListenerRequest.cs
- OptimizedTemplateContentHelper.cs
- NamedPipeAppDomainProtocolHandler.cs
- NamespaceInfo.cs
- ListCollectionView.cs
- ListViewGroup.cs
- RemotingSurrogateSelector.cs
- ManagementObjectCollection.cs
- _SSPISessionCache.cs
- ParameterElementCollection.cs
- TagPrefixInfo.cs
- DescendentsWalker.cs
- SocketAddress.cs
- MessageQueueEnumerator.cs
- PersonalizationStateInfoCollection.cs
- XmlArrayAttribute.cs
- MetaChildrenColumn.cs
- CombinedHttpChannel.cs
- FrugalList.cs
- WorkflowMarkupSerializationException.cs
- MbpInfo.cs
- TrackingMemoryStreamFactory.cs
- ArrayWithOffset.cs
- ProcessInputEventArgs.cs
- GuidConverter.cs
- Accessible.cs
- HtmlTableCell.cs
- NotifyIcon.cs
- PartitionResolver.cs
- ISAPIRuntime.cs
- SqlDataSource.cs
- InputLanguageManager.cs
- ProjectionPruner.cs
- MemberAccessException.cs
- ActionItem.cs
- Exception.cs
- DictionaryTraceRecord.cs
- __Filters.cs
- CapabilitiesState.cs
- TraceListener.cs
- RecordConverter.cs
- DeclarationUpdate.cs
- PlaceHolder.cs
- LogicalTreeHelper.cs
- TraceHwndHost.cs
- GenericUriParser.cs
- Part.cs
- PropertyMetadata.cs
- MappingItemCollection.cs
- UnsafeNativeMethodsCLR.cs
- CompilerGlobalScopeAttribute.cs
- CapacityStreamGeometryContext.cs