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
- ControlCachePolicy.cs
- WebPartDescription.cs
- RenameRuleObjectDialog.Designer.cs
- DataAdapter.cs
- XmlSchemaSequence.cs
- TransformerInfo.cs
- PnrpPeerResolverBindingElement.cs
- formatter.cs
- DataGridViewCellMouseEventArgs.cs
- MiniModule.cs
- PingReply.cs
- RegistryPermission.cs
- TextServicesHost.cs
- TripleDESCryptoServiceProvider.cs
- XamlWriterExtensions.cs
- ButtonBaseAdapter.cs
- BrowsableAttribute.cs
- TempFiles.cs
- MemoryFailPoint.cs
- TableLayoutStyle.cs
- EventLog.cs
- CharacterBufferReference.cs
- XPathNodeIterator.cs
- FixedSOMTable.cs
- TreeNodeStyle.cs
- EntityContainer.cs
- StrokeCollection2.cs
- ListSourceHelper.cs
- StringSource.cs
- HelpEvent.cs
- Pair.cs
- IDataContractSurrogate.cs
- UserValidatedEventArgs.cs
- securitycriticaldataformultiplegetandset.cs
- Registry.cs
- ValueProviderWrapper.cs
- HttpModulesSection.cs
- InputScopeManager.cs
- FormViewPageEventArgs.cs
- OracleEncoding.cs
- EntityTypeEmitter.cs
- TextTreeInsertElementUndoUnit.cs
- UnknownBitmapDecoder.cs
- Stylesheet.cs
- SendActivity.cs
- DivideByZeroException.cs
- IPAddressCollection.cs
- BrowserCapabilitiesFactory.cs
- Switch.cs
- CustomCredentialPolicy.cs
- ContentDisposition.cs
- ByteStorage.cs
- AddInAttribute.cs
- BitmapImage.cs
- VersionedStreamOwner.cs
- HostingEnvironmentSection.cs
- RegistrySecurity.cs
- UserControl.cs
- UInt16Storage.cs
- XmlSchemas.cs
- StateBag.cs
- DbInsertCommandTree.cs
- BaseValidatorDesigner.cs
- WebPartActionVerb.cs
- PageParser.cs
- ScrollChrome.cs
- CellParaClient.cs
- HttpCookieCollection.cs
- ITreeGenerator.cs
- BCLDebug.cs
- SourceFileBuildProvider.cs
- CaseStatement.cs
- ReadOnlyCollectionBuilder.cs
- TypedTableBase.cs
- CurrentTimeZone.cs
- XmlSchemaAppInfo.cs
- StringDictionary.cs
- SiteMapPath.cs
- MouseGestureConverter.cs
- TableLayoutRowStyleCollection.cs
- DocumentApplicationJournalEntry.cs
- CodeTryCatchFinallyStatement.cs
- StrokeNodeData.cs
- BasicCommandTreeVisitor.cs
- _LoggingObject.cs
- ColumnClickEvent.cs
- RegexCharClass.cs
- SkewTransform.cs
- OleDbSchemaGuid.cs
- WebPartConnectionCollection.cs
- PropertyNames.cs
- TextBoxAutomationPeer.cs
- SecurityHelper.cs
- SoapInteropTypes.cs
- RuleElement.cs
- serverconfig.cs
- CultureInfo.cs
- Point3DCollectionValueSerializer.cs
- LiteralControl.cs
- LayoutEditorPart.cs