Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ReadOnlyTernaryTree.cs
- EditingCommands.cs
- TypeDescriptionProvider.cs
- TemplatedEditableDesignerRegion.cs
- LoginStatusDesigner.cs
- PeerObject.cs
- PeerTransportSecurityElement.cs
- RemoteWebConfigurationHostServer.cs
- XamlDesignerSerializationManager.cs
- SqlDataSourceFilteringEventArgs.cs
- DeploymentExceptionMapper.cs
- LOSFormatter.cs
- DocumentStatusResources.cs
- MeasurementDCInfo.cs
- ObjectDataSourceMethodEventArgs.cs
- DesignerAttributeInfo.cs
- UrlMappingCollection.cs
- RegularExpressionValidator.cs
- SaveCardRequest.cs
- CookielessHelper.cs
- AppDomainManager.cs
- RoleServiceManager.cs
- PrintDialogException.cs
- FigureParaClient.cs
- RegistryDataKey.cs
- BasicKeyConstraint.cs
- CrossAppDomainChannel.cs
- Attributes.cs
- ToolStripSplitButton.cs
- ReadOnlyDictionary.cs
- JobDuplex.cs
- Shape.cs
- TextRenderer.cs
- CardSpaceShim.cs
- ConfigurationLocation.cs
- ScriptManagerProxy.cs
- SourceFilter.cs
- EmbeddedObject.cs
- TextReader.cs
- TemplateControl.cs
- InternalsVisibleToAttribute.cs
- DbXmlEnabledProviderManifest.cs
- Package.cs
- CatalogZone.cs
- OneToOneMappingSerializer.cs
- StrictModeSecurityHeaderElementInferenceEngine.cs
- SqlFactory.cs
- SpecularMaterial.cs
- WebPartUtil.cs
- Lease.cs
- UnsafeNativeMethods.cs
- ScrollItemProviderWrapper.cs
- FixedDocumentSequencePaginator.cs
- PersistenceException.cs
- NameValueConfigurationElement.cs
- FragmentNavigationEventArgs.cs
- RenderData.cs
- CodeStatementCollection.cs
- EpmTargetTree.cs
- QuadraticBezierSegment.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- DetailsViewUpdatedEventArgs.cs
- ConstructorBuilder.cs
- ThreadStaticAttribute.cs
- WebSysDefaultValueAttribute.cs
- RootDesignerSerializerAttribute.cs
- SchemaTypeEmitter.cs
- EnglishPluralizationService.cs
- DataServiceExpressionVisitor.cs
- PathSegment.cs
- EntityDataSourceWrapperCollection.cs
- TreeViewDesigner.cs
- RemotingSurrogateSelector.cs
- DataGridRow.cs
- TaiwanCalendar.cs
- DesignerForm.cs
- PolicyChain.cs
- TextChangedEventArgs.cs
- Barrier.cs
- Int32Animation.cs
- HtmlTextArea.cs
- DesignerSerializerAttribute.cs
- OutputCacheModule.cs
- IndexedString.cs
- IdentityNotMappedException.cs
- SplitContainer.cs
- NotImplementedException.cs
- WebConvert.cs
- CustomErrorCollection.cs
- HttpException.cs
- KnownBoxes.cs
- metadatamappinghashervisitor.cs
- StackSpiller.Temps.cs
- SystemWebCachingSectionGroup.cs
- EventWaitHandleSecurity.cs
- MdiWindowListStrip.cs
- EndpointDiscoveryBehavior.cs
- PackageRelationship.cs
- InkCanvasInnerCanvas.cs
- DataRecord.cs