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
- VirtualizedContainerService.cs
- MutexSecurity.cs
- BamlTreeNode.cs
- MatrixCamera.cs
- SecurityChannelFaultConverter.cs
- TextWriterTraceListener.cs
- ModelPropertyImpl.cs
- SerializableAttribute.cs
- XPathEmptyIterator.cs
- CircleHotSpot.cs
- InvalidEnumArgumentException.cs
- HttpListenerContext.cs
- BitmapInitialize.cs
- CapabilitiesState.cs
- HtmlObjectListAdapter.cs
- NullableIntSumAggregationOperator.cs
- DateTimeStorage.cs
- StructuredProperty.cs
- AssemblyFilter.cs
- FileDetails.cs
- Exceptions.cs
- ExpressionLink.cs
- DBConnection.cs
- IssuedTokenClientElement.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- ButtonStandardAdapter.cs
- DoubleCollection.cs
- InlineCollection.cs
- FormatConvertedBitmap.cs
- IpcServerChannel.cs
- WebPartCollection.cs
- EventLogPermissionEntry.cs
- FloaterParagraph.cs
- XmlNodeComparer.cs
- Scene3D.cs
- MetadataArtifactLoaderCompositeResource.cs
- WindowsImpersonationContext.cs
- HtmlButton.cs
- StringToken.cs
- SymLanguageType.cs
- BitSet.cs
- SlipBehavior.cs
- HtmlTableRow.cs
- ColorConvertedBitmap.cs
- Panel.cs
- DataChangedEventManager.cs
- FacetChecker.cs
- ExplicitDiscriminatorMap.cs
- PhysicalOps.cs
- ContextProperty.cs
- StringAnimationUsingKeyFrames.cs
- SimpleMailWebEventProvider.cs
- Timeline.cs
- BindingContext.cs
- FacetValueContainer.cs
- TraceLevelStore.cs
- RegisteredScript.cs
- CanonicalFontFamilyReference.cs
- SubstitutionResponseElement.cs
- Socket.cs
- TableAdapterManagerMethodGenerator.cs
- StatusBar.cs
- DocumentViewerBase.cs
- XPathMultyIterator.cs
- Image.cs
- XmlCharCheckingReader.cs
- StoragePropertyMapping.cs
- CookieParameter.cs
- IntSecurity.cs
- TextRenderer.cs
- ChannelPoolSettingsElement.cs
- SimpleBitVector32.cs
- RegexMatchCollection.cs
- Oid.cs
- XmlDeclaration.cs
- Compilation.cs
- ConfigXmlAttribute.cs
- CharAnimationUsingKeyFrames.cs
- WasEndpointConfigContainer.cs
- SimpleWorkerRequest.cs
- HtmlImage.cs
- FileSystemWatcher.cs
- Filter.cs
- DataGridViewControlCollection.cs
- TraceSource.cs
- LayoutEngine.cs
- SmiXetterAccessMap.cs
- parserscommon.cs
- XmlValidatingReader.cs
- DeclarativeCatalogPart.cs
- AnnotationService.cs
- EventLogRecord.cs
- DataGridParentRows.cs
- EntitySqlQueryBuilder.cs
- CompositeKey.cs
- ToolStripDropDownItem.cs
- ObjectDesignerDataSourceView.cs
- ParameterReplacerVisitor.cs
- ObservableDictionary.cs
- SqlDataSourceView.cs