Code:
/ FX-1434 / FX-1434 / 1.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
- AutomationElementCollection.cs
- OleDbConnectionFactory.cs
- PrintingPermissionAttribute.cs
- DocobjHost.cs
- VerificationAttribute.cs
- BitmapFrameEncode.cs
- ParsedAttributeCollection.cs
- WebPartManagerInternals.cs
- XmlSchemaObjectTable.cs
- infer.cs
- SessionStateContainer.cs
- InputLanguage.cs
- SafeNativeMemoryHandle.cs
- WorkflowQueueInfo.cs
- PropertyCollection.cs
- StreamWithDictionary.cs
- ListItemCollection.cs
- Hashtable.cs
- GCHandleCookieTable.cs
- ReadonlyMessageFilter.cs
- SchemaExporter.cs
- DbException.cs
- Size3DValueSerializer.cs
- ImageInfo.cs
- DSASignatureDeformatter.cs
- ProfessionalColors.cs
- FileBasedResourceGroveler.cs
- LingerOption.cs
- Base64Stream.cs
- SafeFindHandle.cs
- SoapCodeExporter.cs
- FuncTypeConverter.cs
- PropertyDescriptorCollection.cs
- DocumentSchemaValidator.cs
- ToolStripButton.cs
- StorageTypeMapping.cs
- AssertHelper.cs
- SecurityChannelFaultConverter.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- Metadata.cs
- MemberListBinding.cs
- Table.cs
- StreamResourceInfo.cs
- EdmProperty.cs
- XmlCharCheckingWriter.cs
- CodeMemberProperty.cs
- FusionWrap.cs
- VirtualizedItemProviderWrapper.cs
- EditingScope.cs
- XamlFilter.cs
- WebPartMenuStyle.cs
- CodeNamespaceImport.cs
- XmlSchemaChoice.cs
- WindowAutomationPeer.cs
- CacheDict.cs
- GridItemCollection.cs
- HierarchicalDataSourceIDConverter.cs
- BamlMapTable.cs
- SequenceDesigner.cs
- ViewBox.cs
- RegexCompilationInfo.cs
- HtmlGenericControl.cs
- SmiEventSink.cs
- Grid.cs
- Part.cs
- SafeNativeMethods.cs
- UTF8Encoding.cs
- PkcsMisc.cs
- ObjectComplexPropertyMapping.cs
- COMException.cs
- ConstraintStruct.cs
- ChameleonKey.cs
- SmtpNegotiateAuthenticationModule.cs
- CmsInterop.cs
- DockAndAnchorLayout.cs
- ReceiveContextCollection.cs
- MultiplexingDispatchMessageFormatter.cs
- UInt64Storage.cs
- XPathAxisIterator.cs
- TraceContextRecord.cs
- WsiProfilesElement.cs
- ZipIOExtraField.cs
- BuilderElements.cs
- BamlReader.cs
- Privilege.cs
- DetailsViewDesigner.cs
- XmlResolver.cs
- NamespaceQuery.cs
- SubMenuStyle.cs
- ThicknessKeyFrameCollection.cs
- RowTypeElement.cs
- TextCollapsingProperties.cs
- TextDataBindingHandler.cs
- LocationUpdates.cs
- WebPartConnectVerb.cs
- PeerNameResolver.cs
- KeyValueConfigurationCollection.cs
- ReservationCollection.cs
- PropertyChangedEventArgs.cs
- ListenerTraceUtility.cs