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
- ToolStripItemEventArgs.cs
- EntryWrittenEventArgs.cs
- ArrayElementGridEntry.cs
- PasswordTextContainer.cs
- sqlcontext.cs
- SystemColors.cs
- DisableDpiAwarenessAttribute.cs
- BitmapImage.cs
- CompressedStack.cs
- Action.cs
- ProcessInfo.cs
- DbInsertCommandTree.cs
- ProxyElement.cs
- DataBindingCollection.cs
- FigureParagraph.cs
- Function.cs
- SendMailErrorEventArgs.cs
- Select.cs
- DataGridPagerStyle.cs
- DataObjectSettingDataEventArgs.cs
- RequiredFieldValidator.cs
- AnnotationResourceCollection.cs
- __Error.cs
- CodeIdentifiers.cs
- ElapsedEventArgs.cs
- ServiceXNameTypeConverter.cs
- Logging.cs
- XamlTemplateSerializer.cs
- UpdatePanelTrigger.cs
- URI.cs
- SqlRowUpdatingEvent.cs
- SqlFormatter.cs
- QueryableDataSourceEditData.cs
- CacheOutputQuery.cs
- GridViewCommandEventArgs.cs
- ScriptRegistrationManager.cs
- handlecollector.cs
- HttpHeaderCollection.cs
- TypedTableGenerator.cs
- Table.cs
- mediapermission.cs
- Clock.cs
- DeadCharTextComposition.cs
- IResourceProvider.cs
- UInt16.cs
- WebPartVerbsEventArgs.cs
- ListViewContainer.cs
- TransportSecurityHelpers.cs
- LocalIdKeyIdentifierClause.cs
- Point3DCollection.cs
- ObjectTag.cs
- ScrollPatternIdentifiers.cs
- Drawing.cs
- ManualResetEventSlim.cs
- EntitySqlQueryState.cs
- DateTimeOffsetStorage.cs
- Triangle.cs
- XmlHierarchyData.cs
- StreamUpdate.cs
- FieldAccessException.cs
- AppSettingsExpressionEditor.cs
- IsolatedStorage.cs
- MatrixAnimationUsingPath.cs
- XmlSchemaObjectTable.cs
- CachedFontFace.cs
- WindowsListViewGroupHelper.cs
- Pens.cs
- XmlDataDocument.cs
- CodeTypeReferenceCollection.cs
- CompoundFileDeflateTransform.cs
- XmlLanguageConverter.cs
- WebBrowserDocumentCompletedEventHandler.cs
- RichTextBox.cs
- StringComparer.cs
- CodeExpressionCollection.cs
- StateChangeEvent.cs
- StreamUpdate.cs
- EntryWrittenEventArgs.cs
- OleDbMetaDataFactory.cs
- MethodRental.cs
- AsymmetricAlgorithm.cs
- DataViewSetting.cs
- nulltextcontainer.cs
- TimeoutHelper.cs
- NumericUpDown.cs
- CodeSnippetCompileUnit.cs
- XmlDownloadManager.cs
- NewArrayExpression.cs
- TriggerCollection.cs
- TextContainerHelper.cs
- DesignerRegionMouseEventArgs.cs
- MultipleViewPattern.cs
- DesignBindingPropertyDescriptor.cs
- ISO2022Encoding.cs
- EventData.cs
- TdsEnums.cs
- URLMembershipCondition.cs
- FixedSOMSemanticBox.cs
- SystemUdpStatistics.cs
- MetadataCacheItem.cs