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
- SharedStatics.cs
- _SslSessionsCache.cs
- DecoderFallbackWithFailureFlag.cs
- BCryptNative.cs
- HandledEventArgs.cs
- LinqDataSourceHelper.cs
- XsltContext.cs
- NegatedCellConstant.cs
- XmlSchemaImport.cs
- HwndProxyElementProvider.cs
- ServiceThrottlingElement.cs
- SqlDataSource.cs
- XsltArgumentList.cs
- XmlILConstructAnalyzer.cs
- RowsCopiedEventArgs.cs
- CommandField.cs
- ExtenderProvidedPropertyAttribute.cs
- ComplexObject.cs
- SerializationStore.cs
- PathFigure.cs
- Delay.cs
- OracleException.cs
- ListDesigner.cs
- CacheRequest.cs
- OverrideMode.cs
- webproxy.cs
- CacheAxisQuery.cs
- BindingCollectionElement.cs
- AmbientLight.cs
- TextEditorSpelling.cs
- PageVisual.cs
- MarshalByValueComponent.cs
- UmAlQuraCalendar.cs
- PeerPresenceInfo.cs
- MultipartContentParser.cs
- ComponentDispatcherThread.cs
- MachineKeySection.cs
- HierarchicalDataBoundControlAdapter.cs
- ImageAnimator.cs
- Image.cs
- DataGridViewCellLinkedList.cs
- DataGridViewCellValueEventArgs.cs
- WeakReferenceList.cs
- SiteMapDataSourceView.cs
- DetailsViewRowCollection.cs
- GlyphCollection.cs
- ItemsChangedEventArgs.cs
- ReliableDuplexSessionChannel.cs
- PasswordBoxAutomationPeer.cs
- IntranetCredentialPolicy.cs
- UserControlAutomationPeer.cs
- XmlNullResolver.cs
- WeakKeyDictionary.cs
- EventNotify.cs
- FormsAuthentication.cs
- DBAsyncResult.cs
- QilTargetType.cs
- ProxyWebPartConnectionCollection.cs
- Baml2006KnownTypes.cs
- mediaclock.cs
- OledbConnectionStringbuilder.cs
- PingReply.cs
- DataGridViewBand.cs
- __Error.cs
- PageTheme.cs
- Pens.cs
- InkCanvasSelectionAdorner.cs
- StrokeCollectionConverter.cs
- EntityAdapter.cs
- ThicknessAnimationBase.cs
- DesignTimeParseData.cs
- ProfileGroupSettings.cs
- ValidationRuleCollection.cs
- TemplateLookupAction.cs
- SqlDataSource.cs
- DataViewManager.cs
- AppPool.cs
- AuthenticateEventArgs.cs
- ColorDialog.cs
- GridViewColumn.cs
- EmptyEnumerator.cs
- X509ChainPolicy.cs
- DispatcherExceptionFilterEventArgs.cs
- PageParserFilter.cs
- SqlRetyper.cs
- Facet.cs
- SoapSchemaMember.cs
- CommandPlan.cs
- LexicalChunk.cs
- Panel.cs
- FolderLevelBuildProviderCollection.cs
- HttpModuleCollection.cs
- Canvas.cs
- documentsequencetextpointer.cs
- Subset.cs
- EndPoint.cs
- SortedDictionary.cs
- CursorConverter.cs
- DetailsViewInsertEventArgs.cs
- AsyncPostBackErrorEventArgs.cs