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
- SecurityTokenProvider.cs
- Win32SafeHandles.cs
- DbDataRecord.cs
- AppSettingsExpressionEditor.cs
- HttpModuleCollection.cs
- ClaimSet.cs
- TripleDES.cs
- DataPagerFieldCollection.cs
- InputLanguageCollection.cs
- CapabilitiesUse.cs
- CanonicalizationDriver.cs
- RecipientInfo.cs
- ConstraintConverter.cs
- XmlWhitespace.cs
- PlainXmlSerializer.cs
- TypographyProperties.cs
- PropertyDescriptorGridEntry.cs
- DataSourceHelper.cs
- RequestResizeEvent.cs
- BitStack.cs
- TextPointerBase.cs
- SimpleTypeResolver.cs
- DataList.cs
- DataObject.cs
- Int32Rect.cs
- XPathException.cs
- NavigationProperty.cs
- DbMetaDataCollectionNames.cs
- DeferredReference.cs
- EntitySet.cs
- ToolStripPanelRenderEventArgs.cs
- SqlUserDefinedAggregateAttribute.cs
- StickyNote.cs
- OLEDB_Enum.cs
- BooleanConverter.cs
- StateFinalizationActivity.cs
- ObjectItemAttributeAssemblyLoader.cs
- WindowsToolbarAsMenu.cs
- DataSourceIDConverter.cs
- MaskDesignerDialog.cs
- NominalTypeEliminator.cs
- ExpressionBindings.cs
- TableItemStyle.cs
- DataGridViewCellCancelEventArgs.cs
- Math.cs
- X509ChainElement.cs
- EntityContainerEntitySetDefiningQuery.cs
- IIS7UserPrincipal.cs
- UInt32Storage.cs
- ConfigurationProperty.cs
- QueryOutputWriter.cs
- NamedPermissionSet.cs
- HostingEnvironmentSection.cs
- DataGridTable.cs
- GridProviderWrapper.cs
- Enumerable.cs
- ProcessHostMapPath.cs
- LineProperties.cs
- ResourceDescriptionAttribute.cs
- TreeViewHitTestInfo.cs
- XmlLinkedNode.cs
- PrintPreviewControl.cs
- TableCell.cs
- ViewBase.cs
- LinkTarget.cs
- ConfigurationManager.cs
- EntityCommandExecutionException.cs
- DynamicControlParameter.cs
- SqlMultiplexer.cs
- _IPv4Address.cs
- LateBoundBitmapDecoder.cs
- View.cs
- CoordinationService.cs
- NativeCompoundFileAPIs.cs
- CatalogPart.cs
- SamlAssertion.cs
- SortAction.cs
- CatalogPartCollection.cs
- BitmapMetadataEnumerator.cs
- ColorEditor.cs
- InstanceDataCollection.cs
- ThreadPool.cs
- ApplicationId.cs
- ImageConverter.cs
- IImplicitResourceProvider.cs
- HttpProfileBase.cs
- FileIOPermission.cs
- AddInStore.cs
- RelatedImageListAttribute.cs
- MenuItemCollection.cs
- Byte.cs
- XPathEmptyIterator.cs
- DefinitionBase.cs
- XmlIgnoreAttribute.cs
- TypeForwardedFromAttribute.cs
- FlatButtonAppearance.cs
- updatecommandorderer.cs
- Contracts.cs
- RectangleConverter.cs
- WebAdminConfigurationHelper.cs