Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RtfControls.cs
- SqlConnectionFactory.cs
- SqlGenerator.cs
- SystemColorTracker.cs
- EventMappingSettings.cs
- WebBrowserEvent.cs
- TemplateColumn.cs
- ElementMarkupObject.cs
- EntityDataSourceContextCreatedEventArgs.cs
- GraphicsState.cs
- CodeConditionStatement.cs
- SqlBuffer.cs
- MexHttpsBindingElement.cs
- Int64AnimationUsingKeyFrames.cs
- OutputCacheProfile.cs
- ISO2022Encoding.cs
- AssemblyNameProxy.cs
- ListViewItemEventArgs.cs
- InvokePatternIdentifiers.cs
- StickyNote.cs
- XmlAnyElementAttributes.cs
- MenuCommands.cs
- HttpResponseHeader.cs
- RankException.cs
- SrgsSubset.cs
- Size3D.cs
- MonitoringDescriptionAttribute.cs
- StringPropertyBuilder.cs
- EntityContainerAssociationSet.cs
- ExtensionQuery.cs
- IODescriptionAttribute.cs
- ExtensionsSection.cs
- JsonObjectDataContract.cs
- ProgressBar.cs
- AssemblyName.cs
- QuaternionAnimation.cs
- ParenthesizePropertyNameAttribute.cs
- ValueUtilsSmi.cs
- SafeFileMapViewHandle.cs
- ConstructorBuilder.cs
- StorageMappingFragment.cs
- CrossAppDomainChannel.cs
- InkCanvasAutomationPeer.cs
- XmlAnyElementAttributes.cs
- OdbcParameterCollection.cs
- TextParentUndoUnit.cs
- TagPrefixInfo.cs
- LicenseContext.cs
- SrgsElementFactoryCompiler.cs
- AnonymousIdentificationModule.cs
- EditorPart.cs
- ValidationPropertyAttribute.cs
- PersianCalendar.cs
- StringValidatorAttribute.cs
- PageThemeParser.cs
- RuleRef.cs
- Oid.cs
- SafeRightsManagementQueryHandle.cs
- DynamicField.cs
- RoutedEvent.cs
- CodeVariableReferenceExpression.cs
- SafeReversePInvokeHandle.cs
- SpellerHighlightLayer.cs
- Typography.cs
- EpmTargetPathSegment.cs
- XmlHelper.cs
- TreeBuilder.cs
- CertificateManager.cs
- VisualTreeUtils.cs
- IntSumAggregationOperator.cs
- PageOutputColor.cs
- HMACRIPEMD160.cs
- WebPartVerbsEventArgs.cs
- ProfileSettings.cs
- BamlResourceDeserializer.cs
- MimeFormImporter.cs
- ByteFacetDescriptionElement.cs
- FontFamilyConverter.cs
- XmlArrayItemAttribute.cs
- OptimizerPatterns.cs
- GridViewRow.cs
- ValueSerializerAttribute.cs
- XmlSortKey.cs
- ZoneIdentityPermission.cs
- PlatformCulture.cs
- COM2ExtendedUITypeEditor.cs
- Drawing.cs
- EventLogTraceListener.cs
- WmlLinkAdapter.cs
- RegexStringValidator.cs
- IgnoreFileBuildProvider.cs
- XmlNodeList.cs
- EncryptedData.cs
- ClassData.cs
- TemplateContainer.cs
- columnmapfactory.cs
- SafeLocalMemHandle.cs
- ColumnCollection.cs
- TargetConverter.cs
- SchemaConstraints.cs