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
- ResourceWriter.cs
- RtfToXamlReader.cs
- NullableIntSumAggregationOperator.cs
- ConnectionsZone.cs
- ClientUtils.cs
- SubstitutionList.cs
- BitmapFrame.cs
- AppliedDeviceFiltersDialog.cs
- PrintControllerWithStatusDialog.cs
- _Connection.cs
- ComponentRenameEvent.cs
- MarkerProperties.cs
- EntityFunctions.cs
- CAGDesigner.cs
- validation.cs
- Relationship.cs
- DocumentPageHost.cs
- ConfigurationValidatorAttribute.cs
- SQLSingleStorage.cs
- DataSourceXmlElementAttribute.cs
- CanonicalFormWriter.cs
- AdvancedBindingEditor.cs
- TranslateTransform.cs
- BrowserDefinitionCollection.cs
- CFGGrammar.cs
- SmiGettersStream.cs
- PageSettings.cs
- BufferModesCollection.cs
- DataGridViewRowEventArgs.cs
- DataGridViewRowStateChangedEventArgs.cs
- RelationshipDetailsCollection.cs
- ApplicationDirectory.cs
- GetPageCompletedEventArgs.cs
- TypeSystem.cs
- GenerateDerivedKeyRequest.cs
- InvalidFilterCriteriaException.cs
- NamespaceDecl.cs
- MessageSecurityVersionConverter.cs
- StringValidatorAttribute.cs
- DispatcherTimer.cs
- DrawingVisualDrawingContext.cs
- HiddenField.cs
- UIElement.cs
- CellQuery.cs
- InheritedPropertyChangedEventArgs.cs
- SQLMoney.cs
- Pen.cs
- HttpModulesSection.cs
- Pkcs9Attribute.cs
- QuadraticBezierSegment.cs
- NullableIntSumAggregationOperator.cs
- HandlerBase.cs
- OpCodes.cs
- Schema.cs
- EventSetter.cs
- SoapAttributeAttribute.cs
- CompletedAsyncResult.cs
- ObjectHelper.cs
- TableRowCollection.cs
- Container.cs
- ModelItemExtensions.cs
- ClientRuntimeConfig.cs
- PrintDialog.cs
- InheritanceUI.cs
- TextSelection.cs
- Context.cs
- TypeCacheManager.cs
- Sequence.cs
- X509RawDataKeyIdentifierClause.cs
- BuildProviderAppliesToAttribute.cs
- RectValueSerializer.cs
- GenerateTemporaryTargetAssembly.cs
- WebPartEditorOkVerb.cs
- SelectionProcessor.cs
- coordinatorscratchpad.cs
- XmlBinaryWriter.cs
- ParseChildrenAsPropertiesAttribute.cs
- ZoneIdentityPermission.cs
- CodeDefaultValueExpression.cs
- PropertyValue.cs
- RawMouseInputReport.cs
- ScrollContentPresenter.cs
- _Win32.cs
- AssemblyBuilder.cs
- JsonEnumDataContract.cs
- Trigger.cs
- AccessibilityApplicationManager.cs
- WebConfigurationManager.cs
- WorkflowDataContext.cs
- CodeEntryPointMethod.cs
- BulletDecorator.cs
- ValuePatternIdentifiers.cs
- ServiceMetadataBehavior.cs
- BufferModesCollection.cs
- ToolStripItemImageRenderEventArgs.cs
- PackageStore.cs
- SymDocumentType.cs
- ObjectDataSourceView.cs
- PnrpPeerResolver.cs
- XmlWellformedWriter.cs