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
- TextContainerChangeEventArgs.cs
- MultiTargetingUtil.cs
- Splitter.cs
- UnicodeEncoding.cs
- SHA1Managed.cs
- DomNameTable.cs
- ScrollBar.cs
- SqlBuffer.cs
- DependencyPropertyAttribute.cs
- ValueUtilsSmi.cs
- Property.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- ResXFileRef.cs
- Double.cs
- SvcFileManager.cs
- CapabilitiesRule.cs
- ContainerActivationHelper.cs
- PersonalizationStateInfoCollection.cs
- Parser.cs
- PagedDataSource.cs
- Grant.cs
- SelectionPattern.cs
- ErrorWrapper.cs
- NamespaceMapping.cs
- XsltCompileContext.cs
- PopupEventArgs.cs
- SQLChars.cs
- SafeFileMappingHandle.cs
- DelegatingStream.cs
- DateTimeParse.cs
- RadioButton.cs
- InfoCardXmlSerializer.cs
- DrawingGroupDrawingContext.cs
- DependencyProperty.cs
- LinkTarget.cs
- AdornerHitTestResult.cs
- ServerIdentity.cs
- Utils.cs
- NotifyInputEventArgs.cs
- PasswordPropertyTextAttribute.cs
- PreDigestedSignedInfo.cs
- ImportException.cs
- HtmlTableRow.cs
- LookupBindingPropertiesAttribute.cs
- NativeObjectSecurity.cs
- EdmScalarPropertyAttribute.cs
- IxmlLineInfo.cs
- IconBitmapDecoder.cs
- TdsParameterSetter.cs
- ConnectionPoolManager.cs
- TextEncodedRawTextWriter.cs
- Expander.cs
- updatecommandorderer.cs
- CharacterShapingProperties.cs
- QueuedDeliveryRequirementsMode.cs
- KeyGesture.cs
- MessageSmuggler.cs
- DesignerOptions.cs
- NullRuntimeConfig.cs
- LayoutTableCell.cs
- TypeSystemProvider.cs
- FontStretches.cs
- SwitchElementsCollection.cs
- CompatibleIComparer.cs
- SupportingTokenSecurityTokenResolver.cs
- SequentialUshortCollection.cs
- FontSource.cs
- ListDictionary.cs
- XmlQueryContext.cs
- DataGridViewColumnEventArgs.cs
- ContextProperty.cs
- UriTemplateClientFormatter.cs
- CriticalFinalizerObject.cs
- XmlArrayItemAttributes.cs
- DiagnosticsElement.cs
- TableStyle.cs
- DataServiceKeyAttribute.cs
- _OverlappedAsyncResult.cs
- SamlConditions.cs
- DataServices.cs
- MenuItemStyle.cs
- BufferModeSettings.cs
- SqlCacheDependencySection.cs
- StylusButtonEventArgs.cs
- ClientTargetCollection.cs
- GridToolTip.cs
- ToolStripItemClickedEventArgs.cs
- XmlSchemaAppInfo.cs
- MessageFilterTable.cs
- HwndProxyElementProvider.cs
- DependencyPropertyKind.cs
- WebSysDisplayNameAttribute.cs
- InfiniteIntConverter.cs
- IDispatchConstantAttribute.cs
- ISAPIWorkerRequest.cs
- ListViewTableCell.cs
- ConnectionConsumerAttribute.cs
- Transactions.cs
- Compiler.cs
- InertiaRotationBehavior.cs