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
- TextEditorCharacters.cs
- XmlEventCache.cs
- CallbackDebugElement.cs
- PerformanceCounterPermission.cs
- IntPtr.cs
- ReadOnlyState.cs
- CodeSubDirectory.cs
- SortKey.cs
- HtmlInputFile.cs
- CqlLexer.cs
- DataGridViewElement.cs
- CopyOfAction.cs
- CategoriesDocumentFormatter.cs
- TemplatedWizardStep.cs
- XsdCachingReader.cs
- DateTimeUtil.cs
- HttpPostedFile.cs
- PersonalizableTypeEntry.cs
- DataException.cs
- MetadataArtifactLoaderComposite.cs
- DataGridViewRowCollection.cs
- QuadraticBezierSegment.cs
- ProcessThreadCollection.cs
- TemplatedAdorner.cs
- DataViewSettingCollection.cs
- ProcessManager.cs
- Setter.cs
- ImageClickEventArgs.cs
- ResolvedKeyFrameEntry.cs
- ControlCommandSet.cs
- DeflateStream.cs
- ETagAttribute.cs
- ResourceDictionary.cs
- TimerEventSubscription.cs
- BaseDataList.cs
- ProxyHwnd.cs
- CharAnimationBase.cs
- ImageMap.cs
- DocumentPageHost.cs
- XmlProcessingInstruction.cs
- ListViewDataItem.cs
- DispatcherTimer.cs
- ComponentManagerBroker.cs
- XamlPointCollectionSerializer.cs
- SystemUnicastIPAddressInformation.cs
- RenderData.cs
- Certificate.cs
- StringSource.cs
- OpenTypeCommon.cs
- DocumentSchemaValidator.cs
- SpotLight.cs
- RSAProtectedConfigurationProvider.cs
- ObjectDataSourceSelectingEventArgs.cs
- RequestCachingSection.cs
- XPathSingletonIterator.cs
- IndexOutOfRangeException.cs
- ConfigXmlWhitespace.cs
- BoundColumn.cs
- VirtualPath.cs
- HttpHeaderCollection.cs
- TemplateColumn.cs
- DataList.cs
- FileSecurity.cs
- BitmapScalingModeValidation.cs
- ContextMarshalException.cs
- CustomCategoryAttribute.cs
- OleDbEnumerator.cs
- CustomTypeDescriptor.cs
- PropertyOverridesTypeEditor.cs
- ThumbAutomationPeer.cs
- TextFormattingConverter.cs
- ValueUtilsSmi.cs
- ProcessStartInfo.cs
- AbstractSvcMapFileLoader.cs
- OutputCacheModule.cs
- PropertyDescriptor.cs
- RuntimeArgumentHandle.cs
- LZCodec.cs
- MemberAccessException.cs
- DataMemberListEditor.cs
- GeometryDrawing.cs
- LocalizabilityAttribute.cs
- GlyphElement.cs
- WindowCollection.cs
- MetadataPropertyAttribute.cs
- RawStylusInputCustomDataList.cs
- ECDiffieHellmanCngPublicKey.cs
- XmlSignificantWhitespace.cs
- RuleSettingsCollection.cs
- ContainerUIElement3D.cs
- EventLogPermissionEntryCollection.cs
- GridViewRowCollection.cs
- Int32Storage.cs
- VariableElement.cs
- FamilyMapCollection.cs
- oledbmetadatacolumnnames.cs
- OdbcConnection.cs
- CodePageEncoding.cs
- DataReaderContainer.cs
- SchemaConstraints.cs