Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ //// 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
- CodeDelegateInvokeExpression.cs
- WmlPhoneCallAdapter.cs
- FilterQuery.cs
- CqlQuery.cs
- ThreadExceptionDialog.cs
- CompositeFontInfo.cs
- Range.cs
- WizardForm.cs
- sqlser.cs
- EditBehavior.cs
- FirstMatchCodeGroup.cs
- BadImageFormatException.cs
- AudioDeviceOut.cs
- InplaceBitmapMetadataWriter.cs
- DataObjectEventArgs.cs
- ConfigurationManagerHelper.cs
- DesignerView.cs
- IOException.cs
- SafeNativeMethods.cs
- DefaultSerializationProviderAttribute.cs
- ControlAdapter.cs
- WmlListAdapter.cs
- DefaultClaimSet.cs
- TextBreakpoint.cs
- SurrogateDataContract.cs
- Help.cs
- VirtualPath.cs
- TextStore.cs
- FixedLineResult.cs
- ValueSerializer.cs
- OleAutBinder.cs
- ConditionBrowserDialog.cs
- ConstraintEnumerator.cs
- SoapIgnoreAttribute.cs
- CallTemplateAction.cs
- ItemCollection.cs
- MarkupWriter.cs
- PrePrepareMethodAttribute.cs
- LinkUtilities.cs
- WebExceptionStatus.cs
- WebPartCatalogCloseVerb.cs
- MobileCategoryAttribute.cs
- FilterQuery.cs
- UriParserTemplates.cs
- ParallelActivityDesigner.cs
- IconConverter.cs
- TextBox.cs
- KeysConverter.cs
- Literal.cs
- DocumentPage.cs
- BoolExpressionVisitors.cs
- TypeConverterHelper.cs
- InputElement.cs
- Helper.cs
- HitTestParameters3D.cs
- SqlConnectionManager.cs
- AddInIpcChannel.cs
- QilLoop.cs
- SqlInternalConnectionSmi.cs
- _NegoState.cs
- AssemblyInfo.cs
- ZoneIdentityPermission.cs
- RangeValidator.cs
- ContentPlaceHolder.cs
- ConfigPathUtility.cs
- NavigatingCancelEventArgs.cs
- ItemTypeToolStripMenuItem.cs
- ObjectManager.cs
- SubMenuStyle.cs
- PersistChildrenAttribute.cs
- QueryOptionExpression.cs
- Membership.cs
- UnicastIPAddressInformationCollection.cs
- CodeMemberProperty.cs
- ProviderSettingsCollection.cs
- GridViewEditEventArgs.cs
- HtmlShim.cs
- RunWorkerCompletedEventArgs.cs
- NamespaceInfo.cs
- EdmProviderManifest.cs
- PackWebResponse.cs
- HostDesigntimeLicenseContext.cs
- webproxy.cs
- CompilerLocalReference.cs
- TokenizerHelper.cs
- DefaultPrintController.cs
- JoinTreeNode.cs
- GlobalDataBindingHandler.cs
- EventMap.cs
- HtmlInputHidden.cs
- TypeName.cs
- GlyphRun.cs
- TextCompositionManager.cs
- LostFocusEventManager.cs
- DependencyProperty.cs
- WindowsAltTab.cs
- IntegerValidator.cs
- _LocalDataStore.cs
- TimeStampChecker.cs
- InvariantComparer.cs