Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WebForms / System / Web / UI / Design / DataSourceConverter.cs / 1 / DataSourceConverter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.Design { using System; using System.CodeDom; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Data; using System.Diagnostics; using System.Runtime.InteropServices; using System.Globalization; ////// /// [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)] public class DataSourceConverter : TypeConverter { ////// Provides design-time support for a component's data source property. /// ////// /// public DataSourceConverter() { } ////// Initializes a new instance of ///. /// /// /// public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { if (sourceType == typeof(string)) { return true; } return false; } ////// Gets a value indicating whether this converter can /// convert an object in the given source type to the native type of the converter /// using the context. /// ////// /// public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { if (value == null) { return String.Empty; } else if (value.GetType() == typeof(string)) { return (string)value; } throw GetConvertFromException(value); } ////// Converts the given object to the converter's native type. /// ////// /// public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { object[] names = null; if (context != null) { ArrayList list = new ArrayList(); IContainer cont = context.Container; if (cont != null) { ComponentCollection objs = cont.Components; foreach (IComponent comp in (IEnumerable)objs) { if (IsValidDataSource(comp) && !Marshal.IsComObject(comp)) { PropertyDescriptor modifierProp = TypeDescriptor.GetProperties(comp)["Modifiers"]; if (modifierProp != null) { MemberAttributes modifiers = (MemberAttributes)modifierProp.GetValue(comp); if ((modifiers & MemberAttributes.AccessMask) == MemberAttributes.Private) { // must be declared as public or protected continue; } } ISite site = comp.Site; if (site != null) { string name = site.Name; if (name != null) { list.Add(name); } } } } } names = list.ToArray(); Array.Sort(names, Comparer.Default); } return new StandardValuesCollection(names); } ////// Gets the standard data sources accessible to the control. /// ////// /// public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) { return false; } ////// Gets a value indicating whether the collection of standard values returned from /// ///is an exclusive /// list of possible values, using the specified context. /// /// /// public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { return true; } protected virtual bool IsValidDataSource(IComponent component) { return (component is IEnumerable) || (component is IListSource); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved./// Gets a value indicating whether this object supports a standard set of values /// that can be picked from a list. /// ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EnumerableWrapperWeakToStrong.cs
- LiteralTextContainerControlBuilder.cs
- SqlConnectionHelper.cs
- RequestCachePolicy.cs
- SingleKeyFrameCollection.cs
- SuppressMergeCheckAttribute.cs
- arabicshape.cs
- SamlConditions.cs
- Timer.cs
- ExtentKey.cs
- SpecialNameAttribute.cs
- SapiInterop.cs
- ActivityExecutorOperation.cs
- DictionaryEditChange.cs
- DiscoveryRequestHandler.cs
- WSSecurityPolicy11.cs
- XsdDateTime.cs
- DataMisalignedException.cs
- MailBnfHelper.cs
- _SafeNetHandles.cs
- PermissionRequestEvidence.cs
- GridViewRowEventArgs.cs
- SqlConnectionPoolGroupProviderInfo.cs
- DataListItem.cs
- ButtonPopupAdapter.cs
- CharacterMetrics.cs
- ClientSettingsSection.cs
- Int64KeyFrameCollection.cs
- SoapAttributes.cs
- CardSpaceShim.cs
- ConnectionManagementSection.cs
- SharedUtils.cs
- SendKeys.cs
- DbConnectionPoolGroupProviderInfo.cs
- SqlParameter.cs
- Publisher.cs
- DoubleLink.cs
- FtpCachePolicyElement.cs
- OracleConnectionString.cs
- PerformanceCounter.cs
- CalculatedColumn.cs
- WebBrowserContainer.cs
- DataGridViewCellConverter.cs
- FileNotFoundException.cs
- MailMessage.cs
- CryptoStream.cs
- CreateUserErrorEventArgs.cs
- ConfigurationException.cs
- StateManagedCollection.cs
- DataRecordInternal.cs
- MenuCommandService.cs
- PassportPrincipal.cs
- DeviceContext2.cs
- FacetChecker.cs
- CustomAttributeSerializer.cs
- JsonWriter.cs
- WebPartConnectionsCancelVerb.cs
- PropertyDescriptorCollection.cs
- TreeBuilder.cs
- UnsafeNativeMethods.cs
- GridViewHeaderRowPresenter.cs
- GridViewSelectEventArgs.cs
- MissingMemberException.cs
- Storyboard.cs
- ContentPresenter.cs
- ImageListStreamer.cs
- CornerRadiusConverter.cs
- ModifiableIteratorCollection.cs
- XmlSchemaChoice.cs
- RolePrincipal.cs
- ExpressionConverter.cs
- ThicknessKeyFrameCollection.cs
- JsonFormatGeneratorStatics.cs
- ImageButton.cs
- DesignerActionListCollection.cs
- XmlSchemaFacet.cs
- WebBrowsableAttribute.cs
- SystemGatewayIPAddressInformation.cs
- ImplicitInputBrush.cs
- EventDescriptor.cs
- CopyAttributesAction.cs
- DBDataPermissionAttribute.cs
- XslAst.cs
- XsltException.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- LayoutEvent.cs
- Converter.cs
- WriteableOnDemandPackagePart.cs
- BuildManagerHost.cs
- SHA256Cng.cs
- ServiceMemoryGates.cs
- embossbitmapeffect.cs
- InProcStateClientManager.cs
- AuthenticationManager.cs
- WebPartHelpVerb.cs
- SpellCheck.cs
- XmlNullResolver.cs
- UserControl.cs
- TemplateComponentConnector.cs
- CssTextWriter.cs