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
- SapiRecognizer.cs
- LightweightCodeGenerator.cs
- ParameterCollectionEditorForm.cs
- BitmapEffectInputData.cs
- _SslSessionsCache.cs
- COAUTHINFO.cs
- ClientSettingsStore.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- Native.cs
- UrlMapping.cs
- MatrixTransform.cs
- DbTransaction.cs
- ProfilePropertySettingsCollection.cs
- EventLogPermissionAttribute.cs
- SQLBinary.cs
- TableParaClient.cs
- CapacityStreamGeometryContext.cs
- CurrencyManager.cs
- GridViewAutomationPeer.cs
- NativeMethodsOther.cs
- LabelEditEvent.cs
- BitmapEffectDrawingContextState.cs
- SinglePageViewer.cs
- ObjectViewFactory.cs
- ConfigurationPropertyAttribute.cs
- StringExpressionSet.cs
- ToolBarTray.cs
- StyleModeStack.cs
- BaseTemplateCodeDomTreeGenerator.cs
- InfiniteIntConverter.cs
- PaginationProgressEventArgs.cs
- GroupItemAutomationPeer.cs
- MailAddress.cs
- WindowsIdentity.cs
- GeometryGroup.cs
- Propagator.Evaluator.cs
- MultiAsyncResult.cs
- ExpandCollapseIsCheckedConverter.cs
- CodeAccessSecurityEngine.cs
- CssStyleCollection.cs
- DataServiceStreamProviderWrapper.cs
- ImagingCache.cs
- AssemblyGen.cs
- MediaEntryAttribute.cs
- ReflectEventDescriptor.cs
- PairComparer.cs
- DataRecordInternal.cs
- CodeFieldReferenceExpression.cs
- X509SecurityTokenAuthenticator.cs
- TemplateParser.cs
- Timer.cs
- MethodExpression.cs
- _HeaderInfoTable.cs
- CollectionsUtil.cs
- ApplicationFileCodeDomTreeGenerator.cs
- IOThreadTimer.cs
- Util.cs
- PersianCalendar.cs
- TraceHandlerErrorFormatter.cs
- AuthorizationBehavior.cs
- MLangCodePageEncoding.cs
- MenuItemStyleCollection.cs
- Attribute.cs
- DocumentViewer.cs
- HeaderCollection.cs
- InkCanvasInnerCanvas.cs
- AutoCompleteStringCollection.cs
- ListViewSortEventArgs.cs
- initElementDictionary.cs
- XmlWellformedWriter.cs
- DbConnectionPoolIdentity.cs
- TemplateColumn.cs
- UserNamePasswordServiceCredential.cs
- PageFunction.cs
- UTF8Encoding.cs
- UserPersonalizationStateInfo.cs
- SchemaElement.cs
- InheritanceContextChangedEventManager.cs
- NativeObjectSecurity.cs
- ContentPlaceHolder.cs
- RotateTransform3D.cs
- TableLayoutRowStyleCollection.cs
- Utils.cs
- ElementFactory.cs
- Timer.cs
- Int16.cs
- DesigntimeLicenseContextSerializer.cs
- CmsInterop.cs
- Roles.cs
- DataViewSetting.cs
- XmlSchemaAppInfo.cs
- RawStylusInputReport.cs
- AssemblyNameEqualityComparer.cs
- AnnotationStore.cs
- DiscreteKeyFrames.cs
- StylusCaptureWithinProperty.cs
- SecurityException.cs
- ZoneButton.cs
- RtfToXamlLexer.cs
- CurrentChangingEventManager.cs