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
- TextTreePropertyUndoUnit.cs
- BatchWriter.cs
- mil_commands.cs
- SiteMapNode.cs
- Preprocessor.cs
- ExpressionCopier.cs
- XamlGridLengthSerializer.cs
- X509Certificate.cs
- SqlCharStream.cs
- TransformationRules.cs
- CalculatedColumn.cs
- DocumentViewer.cs
- ResourceDisplayNameAttribute.cs
- AsymmetricAlgorithm.cs
- XamlReaderHelper.cs
- WebPartActionVerb.cs
- SerializationObjectManager.cs
- DynamicDataRoute.cs
- WindowsToolbarAsMenu.cs
- InternalDuplexChannelFactory.cs
- XmlSchemaObject.cs
- DocumentCollection.cs
- Ray3DHitTestResult.cs
- COSERVERINFO.cs
- EndpointAddressMessageFilterTable.cs
- KnownTypesHelper.cs
- TableCellCollection.cs
- EventLogPermissionEntry.cs
- LeaseManager.cs
- DecoderExceptionFallback.cs
- SQLCharsStorage.cs
- BuiltInExpr.cs
- FileDialog_Vista.cs
- MultiDataTrigger.cs
- IndependentlyAnimatedPropertyMetadata.cs
- FilterableData.cs
- BitmapEffectDrawingContextState.cs
- MobileListItemCollection.cs
- CodeSnippetTypeMember.cs
- GraphicsContext.cs
- StringUtil.cs
- ResumeStoryboard.cs
- TableLayoutSettingsTypeConverter.cs
- XmlReaderSettings.cs
- EpmTargetPathSegment.cs
- HttpConfigurationContext.cs
- GenericAuthenticationEventArgs.cs
- CreateUserWizardStep.cs
- HitTestParameters.cs
- LayoutSettings.cs
- UnsafeNativeMethods.cs
- ArrayHelper.cs
- StyleBamlRecordReader.cs
- Item.cs
- Int32RectValueSerializer.cs
- HeaderCollection.cs
- Substitution.cs
- RectConverter.cs
- SelectionRangeConverter.cs
- Cursors.cs
- formatter.cs
- Mouse.cs
- ListSortDescriptionCollection.cs
- QilDataSource.cs
- ListViewContainer.cs
- WebReferencesBuildProvider.cs
- RegexCharClass.cs
- FilterableAttribute.cs
- BindingListCollectionView.cs
- SchemaMerger.cs
- WorkItem.cs
- EntityDataSourceColumn.cs
- ContractListAdapter.cs
- BaseTemplateBuildProvider.cs
- DynamicActionMessageFilter.cs
- BitmapEffectGroup.cs
- HandleCollector.cs
- FontStyles.cs
- RawAppCommandInputReport.cs
- ArgumentValueSerializer.cs
- KnownIds.cs
- UpdateCompiler.cs
- WindowsStartMenu.cs
- InvokeBinder.cs
- SourceSwitch.cs
- ColorConverter.cs
- LicenseContext.cs
- BufferBuilder.cs
- ShaderEffect.cs
- ActivityDesignerLayoutSerializers.cs
- DesignerAutoFormat.cs
- DataServiceRequestException.cs
- XmlILAnnotation.cs
- SqlDuplicator.cs
- Converter.cs
- MetadataPropertyvalue.cs
- ElementMarkupObject.cs
- RuntimeCompatibilityAttribute.cs
- ManipulationDelta.cs
- RepeatButtonAutomationPeer.cs