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
- PaperSource.cs
- BamlResourceDeserializer.cs
- UIElementParagraph.cs
- ExpandCollapseProviderWrapper.cs
- ValueChangedEventManager.cs
- AppSettingsSection.cs
- CollectionEditorDialog.cs
- PrintDialogException.cs
- MenuItemBindingCollection.cs
- MimeObjectFactory.cs
- HostedElements.cs
- FontFamily.cs
- PrintDialogException.cs
- AttachmentCollection.cs
- FragmentQuery.cs
- ExternalException.cs
- ListArgumentProvider.cs
- Table.cs
- XPathAncestorQuery.cs
- MonthChangedEventArgs.cs
- SqlClientFactory.cs
- TemplateField.cs
- SqlTypeSystemProvider.cs
- HttpCapabilitiesBase.cs
- ServiceObjectContainer.cs
- ConsumerConnectionPointCollection.cs
- CollectionBuilder.cs
- FlowNode.cs
- ButtonBase.cs
- MemoryStream.cs
- HttpCapabilitiesSectionHandler.cs
- SplitterDesigner.cs
- XmlSignatureManifest.cs
- FontStretchConverter.cs
- OdbcErrorCollection.cs
- SizeChangedInfo.cs
- InternalPermissions.cs
- ObjectTag.cs
- SqlCommand.cs
- StyleTypedPropertyAttribute.cs
- HttpCachePolicy.cs
- OraclePermission.cs
- DetailsViewInsertedEventArgs.cs
- ContextMenu.cs
- VariableExpressionConverter.cs
- ChildrenQuery.cs
- SqlClientPermission.cs
- XpsDocument.cs
- ResolveMatchesApril2005.cs
- ObjectDataSource.cs
- CrossContextChannel.cs
- DateTimeFormatInfo.cs
- LogLogRecord.cs
- CssClassPropertyAttribute.cs
- MemberInfoSerializationHolder.cs
- HttpInputStream.cs
- Nullable.cs
- LinkedResourceCollection.cs
- ReaderWriterLock.cs
- MessageHeaderT.cs
- CustomGrammar.cs
- IndentTextWriter.cs
- HtmlWindow.cs
- ClaimComparer.cs
- DeflateStreamAsyncResult.cs
- SHA512.cs
- ZoomPercentageConverter.cs
- ButtonFieldBase.cs
- AddingNewEventArgs.cs
- _ConnectStream.cs
- FixedPosition.cs
- AllMembershipCondition.cs
- LiteralDesigner.cs
- ProviderCommandInfoUtils.cs
- PeerCollaboration.cs
- ISO2022Encoding.cs
- GridEntryCollection.cs
- XmlRawWriterWrapper.cs
- AuthenticationModuleElement.cs
- SettingsAttributes.cs
- BookmarkEventArgs.cs
- ConfigurationValidatorBase.cs
- ErrorStyle.cs
- TagMapCollection.cs
- PermissionSetEnumerator.cs
- Schema.cs
- Polygon.cs
- PointValueSerializer.cs
- DataRecordInfo.cs
- FirstQueryOperator.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- RenderOptions.cs
- PageWrapper.cs
- KeyValuePairs.cs
- SettingsPropertyNotFoundException.cs
- ValidatedControlConverter.cs
- TypedTableBase.cs
- SplitterPanel.cs
- loginstatus.cs
- StatusBarPanelClickEvent.cs