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
- UnmanagedBitmapWrapper.cs
- PropertyGridCommands.cs
- DesignOnlyAttribute.cs
- ValidatedControlConverter.cs
- SpecialNameAttribute.cs
- LowerCaseStringConverter.cs
- TimeoutValidationAttribute.cs
- SiteMapHierarchicalDataSourceView.cs
- DataTransferEventArgs.cs
- TypeConstant.cs
- ApplyTemplatesAction.cs
- ThreadExceptionDialog.cs
- KeyBinding.cs
- RoutedEventConverter.cs
- XmlLoader.cs
- SslStream.cs
- OutOfProcStateClientManager.cs
- SafeThemeHandle.cs
- TreeBuilder.cs
- AssemblyBuilderData.cs
- DynamicScriptObject.cs
- SchemaSetCompiler.cs
- SingleBodyParameterMessageFormatter.cs
- Size.cs
- RangeValuePatternIdentifiers.cs
- SqlConnectionPoolGroupProviderInfo.cs
- figurelength.cs
- PointCollectionConverter.cs
- QilNode.cs
- DataGridViewColumnTypePicker.cs
- GetPageNumberCompletedEventArgs.cs
- LassoHelper.cs
- FormatterServices.cs
- OleStrCAMarshaler.cs
- UnsafeNativeMethodsMilCoreApi.cs
- TextEditorLists.cs
- TableItemPattern.cs
- SessionPageStatePersister.cs
- newinstructionaction.cs
- ActiveXHost.cs
- PropertyChangedEventManager.cs
- ComEventsHelper.cs
- webproxy.cs
- XmlAggregates.cs
- ItemsPresenter.cs
- CompilerGlobalScopeAttribute.cs
- SystemIPAddressInformation.cs
- LayeredChannelFactory.cs
- DoubleCollection.cs
- DecoderFallback.cs
- SecurityContext.cs
- EntityTypeEmitter.cs
- ISO2022Encoding.cs
- SafeHandle.cs
- DataRowCollection.cs
- TextTreeTextBlock.cs
- ConnectionPointGlyph.cs
- NamespaceList.cs
- FormViewUpdatedEventArgs.cs
- Error.cs
- XamlBrushSerializer.cs
- TypeConverters.cs
- PropertyValidationContext.cs
- SqlUserDefinedAggregateAttribute.cs
- SubqueryRules.cs
- oledbmetadatacollectionnames.cs
- ControlPropertyNameConverter.cs
- sqlinternaltransaction.cs
- CachingHintValidation.cs
- RegexRunner.cs
- Command.cs
- PersonalizationStateQuery.cs
- assertwrapper.cs
- ContentTypeSettingClientMessageFormatter.cs
- HijriCalendar.cs
- XsltSettings.cs
- MsmqTransportBindingElement.cs
- CommentEmitter.cs
- LogRecordSequence.cs
- SettingsAttributeDictionary.cs
- PropertyToken.cs
- Vector3DCollection.cs
- StateBag.cs
- ListMarkerSourceInfo.cs
- OleAutBinder.cs
- AuthenticationService.cs
- UnsafeNativeMethods.cs
- WebScriptMetadataFormatter.cs
- SoapAttributeOverrides.cs
- TTSVoice.cs
- RecordBuilder.cs
- EntityContainerEntitySetDefiningQuery.cs
- XamlStream.cs
- OutputCacheProfileCollection.cs
- ObfuscateAssemblyAttribute.cs
- DeviceSpecificChoiceCollection.cs
- MULTI_QI.cs
- AddToCollection.cs
- DiscoveryClientBindingElement.cs
- PriorityRange.cs