Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Data / System / Data / DataColumnPropertyDescriptor.cs / 1 / 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
- URI.cs
- DrawListViewSubItemEventArgs.cs
- XPathScanner.cs
- Utility.cs
- ThemeDictionaryExtension.cs
- TrayIconDesigner.cs
- NumberSubstitution.cs
- Fault.cs
- JapaneseLunisolarCalendar.cs
- EventSchemaTraceListener.cs
- UpdateCompiler.cs
- BaseCodePageEncoding.cs
- MarshalByValueComponent.cs
- BoundPropertyEntry.cs
- AnnotationObservableCollection.cs
- ZoneMembershipCondition.cs
- GrammarBuilderDictation.cs
- LambdaCompiler.Unary.cs
- FeedUtils.cs
- Color.cs
- DataServiceSaveChangesEventArgs.cs
- QuotedPrintableStream.cs
- WhitespaceSignificantCollectionAttribute.cs
- SiteMapNodeItemEventArgs.cs
- CharacterHit.cs
- PieceNameHelper.cs
- WindowsImpersonationContext.cs
- FloaterParagraph.cs
- LoginView.cs
- CallInfo.cs
- RoutedPropertyChangedEventArgs.cs
- GlyphingCache.cs
- CannotUnloadAppDomainException.cs
- LazyInitializer.cs
- HtmlMeta.cs
- NumericUpDown.cs
- EdmProviderManifest.cs
- IntegrationExceptionEventArgs.cs
- GroupBoxAutomationPeer.cs
- XamlTreeBuilderBamlRecordWriter.cs
- XmlSortKey.cs
- DataColumn.cs
- CacheVirtualItemsEvent.cs
- TreeNodeSelectionProcessor.cs
- ObjectStateManagerMetadata.cs
- TimelineGroup.cs
- WindowsStatic.cs
- OracleRowUpdatingEventArgs.cs
- CompilerGlobalScopeAttribute.cs
- WSHttpBindingBase.cs
- ListViewDesigner.cs
- BinaryWriter.cs
- ApplicationFileCodeDomTreeGenerator.cs
- DataSpaceManager.cs
- ReferencedAssembly.cs
- SuppressMergeCheckAttribute.cs
- VectorAnimationBase.cs
- GenericUriParser.cs
- UnsafeNativeMethods.cs
- ExpressionTextBox.xaml.cs
- SBCSCodePageEncoding.cs
- FileIOPermission.cs
- FeatureSupport.cs
- SqlDelegatedTransaction.cs
- Parser.cs
- ImportCatalogPart.cs
- VarInfo.cs
- RouteData.cs
- ApplyImportsAction.cs
- WeakRefEnumerator.cs
- COM2ColorConverter.cs
- CryptoApi.cs
- SqlUserDefinedTypeAttribute.cs
- ScriptingScriptResourceHandlerSection.cs
- SolidBrush.cs
- TcpChannelListener.cs
- Helpers.cs
- IdnElement.cs
- SimplePropertyEntry.cs
- EntityDataSourceWizardForm.cs
- XmlEventCache.cs
- InputScope.cs
- _SSPISessionCache.cs
- HttpListenerException.cs
- TemplateField.cs
- Models.cs
- EmptyEnumerable.cs
- TypeHelper.cs
- DeviceFilterDictionary.cs
- ListViewCommandEventArgs.cs
- AsymmetricCryptoHandle.cs
- InteropAutomationProvider.cs
- WebSysDefaultValueAttribute.cs
- UrlRoutingModule.cs
- ObjectListShowCommandsEventArgs.cs
- SourceFileBuildProvider.cs
- JournalEntryStack.cs
- WorkflowServiceHost.cs
- DiscoveryClientReferences.cs
- SelectionEditor.cs