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
- TypefaceMap.cs
- InternalsVisibleToAttribute.cs
- DataGrid.cs
- EventLogPermissionEntryCollection.cs
- SocketElement.cs
- EntityDescriptor.cs
- _TransmitFileOverlappedAsyncResult.cs
- InternalDispatchObject.cs
- ImageIndexConverter.cs
- DPCustomTypeDescriptor.cs
- DataViewListener.cs
- EventProviderWriter.cs
- XmlStreamStore.cs
- XmlChildEnumerator.cs
- DataTransferEventArgs.cs
- XamlClipboardData.cs
- MD5.cs
- UInt32.cs
- ToolboxBitmapAttribute.cs
- TextEditorParagraphs.cs
- xmlsaver.cs
- WindowsBrush.cs
- ActivityCodeDomSerializationManager.cs
- RijndaelManagedTransform.cs
- DelegatingHeader.cs
- _Events.cs
- ReturnEventArgs.cs
- NonClientArea.cs
- XmlEntityReference.cs
- SubtreeProcessor.cs
- MsmqBindingMonitor.cs
- ParameterRetriever.cs
- FileDialog_Vista.cs
- PropertyEmitter.cs
- DockAndAnchorLayout.cs
- ButtonChrome.cs
- ToolStripOverflow.cs
- WindowsFormsHelpers.cs
- ElementAction.cs
- DataRecord.cs
- WsatServiceAddress.cs
- PageRanges.cs
- XmlnsCache.cs
- LookupTables.cs
- TaskFileService.cs
- DataGridViewCellCollection.cs
- RectConverter.cs
- TextServicesContext.cs
- StringKeyFrameCollection.cs
- HttpResponseMessageProperty.cs
- UDPClient.cs
- CollectionConverter.cs
- EncryptedXml.cs
- StylusPlugInCollection.cs
- SimpleBitVector32.cs
- BamlMapTable.cs
- SettingsPropertyValue.cs
- ProtectedProviderSettings.cs
- ResourceAttributes.cs
- RTLAwareMessageBox.cs
- XmlIgnoreAttribute.cs
- Events.cs
- AsymmetricSignatureFormatter.cs
- ScriptReferenceEventArgs.cs
- SiteMapSection.cs
- PropertyConverter.cs
- SqlDataSourceFilteringEventArgs.cs
- MappingModelBuildProvider.cs
- MailSettingsSection.cs
- MinimizableAttributeTypeConverter.cs
- SymmetricAlgorithm.cs
- TextEditorParagraphs.cs
- FormDocumentDesigner.cs
- EntityTemplateUserControl.cs
- WebPartsSection.cs
- XmlBindingWorker.cs
- UriParserTemplates.cs
- TypedServiceChannelBuilder.cs
- recordstate.cs
- Int32AnimationBase.cs
- TripleDESCryptoServiceProvider.cs
- QueryCreatedEventArgs.cs
- CharacterBuffer.cs
- _SslState.cs
- MenuItemAutomationPeer.cs
- XmlCDATASection.cs
- PeerNodeTraceRecord.cs
- CustomAttributeSerializer.cs
- WebScriptServiceHost.cs
- PseudoWebRequest.cs
- HandleRef.cs
- Utils.cs
- DoubleAverageAggregationOperator.cs
- GeneralTransformCollection.cs
- MessageFilterException.cs
- SEHException.cs
- MenuItemCollectionEditor.cs
- SHA1.cs
- ConnectionStringsSection.cs
- MatrixCamera.cs