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
- RemotingConfiguration.cs
- SqlUdtInfo.cs
- XmlTextWriter.cs
- WebPartDisplayMode.cs
- BitmapEffectInput.cs
- MetadataItem_Static.cs
- _UriTypeConverter.cs
- SoapFormatterSinks.cs
- RelationshipConverter.cs
- PcmConverter.cs
- Converter.cs
- DynamicPropertyHolder.cs
- NotifyCollectionChangedEventArgs.cs
- MenuAutomationPeer.cs
- SafeFileMapViewHandle.cs
- IndentedWriter.cs
- DataServiceExpressionVisitor.cs
- ListManagerBindingsCollection.cs
- PerfService.cs
- HttpApplication.cs
- XmlSchemaInclude.cs
- DataPagerFieldItem.cs
- PathFigureCollectionValueSerializer.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- ExpressionParser.cs
- PrintControllerWithStatusDialog.cs
- ColorConvertedBitmapExtension.cs
- OleDbCommand.cs
- ServiceOperationInvoker.cs
- DataBindingHandlerAttribute.cs
- StringPropertyBuilder.cs
- UnsafeNativeMethods.cs
- ModuleConfigurationInfo.cs
- Point4DValueSerializer.cs
- ComboBox.cs
- SearchForVirtualItemEventArgs.cs
- ValueChangedEventManager.cs
- SchemaElementDecl.cs
- SynchronizationContext.cs
- updateconfighost.cs
- XmlSchemaSimpleTypeList.cs
- ContentPresenter.cs
- QueryResults.cs
- InitiatorServiceModelSecurityTokenRequirement.cs
- RadialGradientBrush.cs
- COM2PictureConverter.cs
- ControlBuilder.cs
- DBSqlParserColumnCollection.cs
- InputDevice.cs
- JsonUriDataContract.cs
- MessageQueuePermissionAttribute.cs
- TypeDependencyAttribute.cs
- SecureUICommand.cs
- IncrementalReadDecoders.cs
- DelegatedStream.cs
- InertiaExpansionBehavior.cs
- XDeferredAxisSource.cs
- StylusLogic.cs
- ModelServiceImpl.cs
- CodeIdentifier.cs
- TdsValueSetter.cs
- PasswordPropertyTextAttribute.cs
- XmlSerializableWriter.cs
- RsaSecurityToken.cs
- DesignerExtenders.cs
- ContextMenuAutomationPeer.cs
- GACMembershipCondition.cs
- DocumentScope.cs
- XmlDataCollection.cs
- OdbcRowUpdatingEvent.cs
- ObjectDataProvider.cs
- EdmToObjectNamespaceMap.cs
- TriggerCollection.cs
- FlowLayoutPanel.cs
- SevenBitStream.cs
- ServiceDescriptionSerializer.cs
- Variable.cs
- FilteredSchemaElementLookUpTable.cs
- RelationshipDetailsRow.cs
- EntityDataSourceEntitySetNameItem.cs
- PointKeyFrameCollection.cs
- HtmlControl.cs
- DateTimeParse.cs
- ReferenceEqualityComparer.cs
- CatalogPartChrome.cs
- CodeDelegateInvokeExpression.cs
- ArrayListCollectionBase.cs
- ResourceReferenceExpression.cs
- TypeDescriptor.cs
- ProtectedProviderSettings.cs
- DataListItem.cs
- HttpsChannelFactory.cs
- SafeFileHandle.cs
- SortableBindingList.cs
- Typography.cs
- initElementDictionary.cs
- AssemblyCollection.cs
- TimeStampChecker.cs
- Keywords.cs
- ManipulationBoundaryFeedbackEventArgs.cs