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
- StateManagedCollection.cs
- Calendar.cs
- CqlParser.cs
- ToolStripDropDown.cs
- Point3DCollectionValueSerializer.cs
- WindowsListViewGroup.cs
- HelpKeywordAttribute.cs
- UnmanagedMemoryStream.cs
- NamespaceDecl.cs
- FileInfo.cs
- ArglessEventHandlerProxy.cs
- ConfigXmlText.cs
- ExtensibleClassFactory.cs
- XmlSchemaAttributeGroup.cs
- BeginEvent.cs
- ScriptingWebServicesSectionGroup.cs
- HtmlInputControl.cs
- RequestCacheEntry.cs
- BooleanConverter.cs
- HttpStreams.cs
- TypedReference.cs
- TreeNodeMouseHoverEvent.cs
- Dump.cs
- DocobjHost.cs
- InstallerTypeAttribute.cs
- ToolStripRenderer.cs
- WS2007HttpBindingElement.cs
- ZoomComboBox.cs
- GenericUI.cs
- EmptyEnumerator.cs
- AsyncContentLoadedEventArgs.cs
- GridViewEditEventArgs.cs
- PolyQuadraticBezierSegment.cs
- DummyDataSource.cs
- ResourcePermissionBase.cs
- StrokeNode.cs
- SqlCacheDependencySection.cs
- ViewManagerAttribute.cs
- ChainOfResponsibility.cs
- ControlFilterExpression.cs
- SqlNodeTypeOperators.cs
- GlobalEventManager.cs
- PagesChangedEventArgs.cs
- CounterSampleCalculator.cs
- ArrayWithOffset.cs
- OutputWindow.cs
- SqlGenericUtil.cs
- DBConnection.cs
- MultiByteCodec.cs
- IconBitmapDecoder.cs
- GridLength.cs
- _SpnDictionary.cs
- UrlMappingsModule.cs
- HttpAsyncResult.cs
- ConfigXmlText.cs
- ScriptingWebServicesSectionGroup.cs
- TextView.cs
- ProviderSettings.cs
- DataTemplate.cs
- Path.cs
- Point4DConverter.cs
- StrokeCollection.cs
- TreeSet.cs
- DoubleAnimationClockResource.cs
- TableLayout.cs
- AvTrace.cs
- ConfigurationManagerInternalFactory.cs
- TaskFormBase.cs
- CLRBindingWorker.cs
- HandlerMappingMemo.cs
- TagPrefixInfo.cs
- DataGridViewCellCollection.cs
- EndpointIdentityConverter.cs
- Wildcard.cs
- _HeaderInfoTable.cs
- AlgoModule.cs
- SapiGrammar.cs
- XmlNode.cs
- XPathDocumentBuilder.cs
- Group.cs
- AmbiguousMatchException.cs
- ParameterToken.cs
- UndoUnit.cs
- ProcessHostMapPath.cs
- PagerStyle.cs
- AsyncStreamReader.cs
- XmlException.cs
- PersistenceTask.cs
- HtmlTableRowCollection.cs
- formatter.cs
- GridViewActionList.cs
- OneOfElement.cs
- ImageAutomationPeer.cs
- ObjectCloneHelper.cs
- TableAdapterManagerHelper.cs
- ApplicationInfo.cs
- CodeTypeParameter.cs
- Propagator.cs
- BitmapEffectOutputConnector.cs
- BindingMemberInfo.cs