Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WebForms / System / Web / UI / Design / DataSourceViewSchemaConverter.cs / 1 / DataSourceViewSchemaConverter.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.Design {
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Globalization;
using System.Runtime.InteropServices;
using System.Web.UI;
///
///
///
/// Provides design-time support for getting schema from an object
///
///
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)]
public class DataSourceViewSchemaConverter : TypeConverter {
///
///
///
public DataSourceViewSchemaConverter() {
}
///
///
///
/// 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 bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) {
if (sourceType == typeof(string)) {
return true;
}
return false;
}
///
///
///
/// Converts the given object to the converter's native type.
///
///
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);
}
///
///
///
/// Gets the fields present within the selected object's schema
///
///
public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) {
return GetStandardValues(context, null);
}
public virtual StandardValuesCollection GetStandardValues(ITypeDescriptorContext context, Type typeFilter) {
string[] names = null;
if (context != null) {
IDataSourceViewSchemaAccessor schemaAccessor = context.Instance as IDataSourceViewSchemaAccessor;
if (schemaAccessor != null) {
IDataSourceViewSchema schema = schemaAccessor.DataSourceViewSchema as IDataSourceViewSchema;
if (schema != null) {
IDataSourceFieldSchema[] fields = schema.GetFields();
string[] tempNames = new string[fields.Length];
int fieldCount = 0;
for (int i = 0; i < fields.Length; i++) {
if ((typeFilter != null && fields[i].DataType == typeFilter) || typeFilter == null) {
tempNames[fieldCount] = fields[i].Name;
fieldCount++;
}
}
names = new string[fieldCount];
Array.Copy(tempNames, names, fieldCount);
}
}
if (names == null) {
names = new string[0];
}
Array.Sort(names, Comparer.Default);
}
return new StandardValuesCollection(names);
}
///
///
///
/// 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 GetStandardValuesExclusive(ITypeDescriptorContext context) {
return false;
}
///
///
///
/// Gets a value indicating whether this object supports a standard set of values
/// that can be picked from a list.
///
///
public override bool GetStandardValuesSupported(ITypeDescriptorContext context) {
if ((context != null) && (context.Instance is IDataSourceViewSchemaAccessor)) {
return true;
}
return false;
}
}
}
// 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
- Page.cs
- PathParser.cs
- ServiceObjectContainer.cs
- HtmlInputRadioButton.cs
- DefaultSerializationProviderAttribute.cs
- BulletedListEventArgs.cs
- WebServiceHostFactory.cs
- Enlistment.cs
- SAPICategories.cs
- GridViewUpdatedEventArgs.cs
- BrowsableAttribute.cs
- MediaTimeline.cs
- UTF8Encoding.cs
- SystemIPv4InterfaceProperties.cs
- DesignerCommandAdapter.cs
- PipelineDeploymentState.cs
- HandlerFactoryWrapper.cs
- MSG.cs
- ContainsRowNumberChecker.cs
- HwndSubclass.cs
- GradientBrush.cs
- COM2EnumConverter.cs
- TransformCollection.cs
- ListViewSortEventArgs.cs
- NavigationPropertyEmitter.cs
- HttpHandlerActionCollection.cs
- ApplicationInterop.cs
- MetadataPropertyAttribute.cs
- ManagedIStream.cs
- Label.cs
- UnknownBitmapDecoder.cs
- PasswordTextContainer.cs
- TimeSpanValidatorAttribute.cs
- DataGridViewCellStyle.cs
- RequestSecurityTokenForGetBrowserToken.cs
- EventsTab.cs
- EpmSyndicationContentDeSerializer.cs
- bidPrivateBase.cs
- WindowsPrincipal.cs
- AuthorizationRuleCollection.cs
- CacheDependency.cs
- ProxyGenerator.cs
- FormsAuthenticationModule.cs
- TypeElement.cs
- IdleTimeoutMonitor.cs
- Helpers.cs
- XPathNavigatorReader.cs
- SqlWebEventProvider.cs
- BinHexEncoder.cs
- ActiveXSite.cs
- DynamicRendererThreadManager.cs
- RegexFCD.cs
- ColorTransform.cs
- DataGridViewLayoutData.cs
- TextBox.cs
- EmptyControlCollection.cs
- Request.cs
- NotifyIcon.cs
- WmlObjectListAdapter.cs
- TagNameToTypeMapper.cs
- VerticalAlignConverter.cs
- ScriptingSectionGroup.cs
- HMACSHA512.cs
- TypeToken.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- SqlSelectStatement.cs
- LineMetrics.cs
- StatusBarDrawItemEvent.cs
- ImageListUtils.cs
- VSWCFServiceContractGenerator.cs
- ProvidersHelper.cs
- GetPageCompletedEventArgs.cs
- IItemProperties.cs
- TextServicesCompartment.cs
- WizardPanel.cs
- State.cs
- EntityStoreSchemaFilterEntry.cs
- ValidatingPropertiesEventArgs.cs
- MetabaseServerConfig.cs
- ScriptManager.cs
- EndCreateSecurityTokenRequest.cs
- CodeDomLoader.cs
- BrowserCapabilitiesCodeGenerator.cs
- DynamicValidatorEventArgs.cs
- DockEditor.cs
- StylusOverProperty.cs
- TransactionChannel.cs
- AbsoluteQuery.cs
- LayoutTableCell.cs
- AppLevelCompilationSectionCache.cs
- _FixedSizeReader.cs
- EditBehavior.cs
- XmlResolver.cs
- QilStrConcat.cs
- NamespaceInfo.cs
- PointHitTestResult.cs
- MailSettingsSection.cs
- RSAOAEPKeyExchangeDeformatter.cs
- ImageMap.cs
- ChildChangedEventArgs.cs