Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / DataColumnPropertyDescriptor.cs / 1305376 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SymbolMethod.cs
- RadialGradientBrush.cs
- AtomParser.cs
- DropSource.cs
- CodeRegionDirective.cs
- StreamUpdate.cs
- OperandQuery.cs
- TriState.cs
- OleDbWrapper.cs
- HelloMessageCD1.cs
- UriTemplateTrieNode.cs
- UnaryNode.cs
- ListBoxDesigner.cs
- EventLogConfiguration.cs
- ShaperBuffers.cs
- SynchronizedDispatch.cs
- FileLoadException.cs
- MonitorWrapper.cs
- DirectoryObjectSecurity.cs
- BaseParagraph.cs
- IgnoreDataMemberAttribute.cs
- SQLInt32.cs
- HtmlTableRowCollection.cs
- DataGridViewButtonColumn.cs
- SystemFonts.cs
- XmlCharType.cs
- MimeMultiPart.cs
- FileDialogCustomPlacesCollection.cs
- ReflectionTypeLoadException.cs
- RangeValuePatternIdentifiers.cs
- ProtocolElement.cs
- Ref.cs
- MediaCommands.cs
- BrowserCapabilitiesFactory.cs
- XPathScanner.cs
- VisualStyleTypesAndProperties.cs
- Pens.cs
- AlgoModule.cs
- WinFormsUtils.cs
- DependentTransaction.cs
- PointCollectionConverter.cs
- VisualCollection.cs
- StructureChangedEventArgs.cs
- CatalogZoneBase.cs
- FamilyMapCollection.cs
- HtmlContainerControl.cs
- TreeView.cs
- printdlgexmarshaler.cs
- Transform3DCollection.cs
- XmlFormatExtensionPointAttribute.cs
- DataGridViewAdvancedBorderStyle.cs
- relpropertyhelper.cs
- Point3DAnimationBase.cs
- XComponentModel.cs
- DebugViewWriter.cs
- BinaryFormatter.cs
- RenderOptions.cs
- ChildChangedEventArgs.cs
- InternalCache.cs
- FragmentQueryKB.cs
- StrokeCollection.cs
- FrameworkReadOnlyPropertyMetadata.cs
- TagPrefixInfo.cs
- ImageField.cs
- relpropertyhelper.cs
- MemberInfoSerializationHolder.cs
- ColumnWidthChangingEvent.cs
- CounterSampleCalculator.cs
- StrokeCollectionConverter.cs
- Expression.cs
- TypeDependencyAttribute.cs
- OdbcConnectionPoolProviderInfo.cs
- DbUpdateCommandTree.cs
- TraceHandler.cs
- CollectionDataContract.cs
- Rect.cs
- ValidatorCompatibilityHelper.cs
- CodeCommentStatementCollection.cs
- PageBreakRecord.cs
- Simplifier.cs
- Knowncolors.cs
- SpeechUI.cs
- GraphicsState.cs
- CompressStream.cs
- SeekableReadStream.cs
- CompiledXpathExpr.cs
- ProcessModule.cs
- Wizard.cs
- XmlHierarchicalDataSourceView.cs
- AssemblyBuilder.cs
- IOThreadScheduler.cs
- EFColumnProvider.cs
- ByteViewer.cs
- XamlReaderHelper.cs
- latinshape.cs
- PropertyOverridesTypeEditor.cs
- DockPanel.cs
- BinaryNode.cs
- TypefaceMap.cs
- SmtpException.cs