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
- Label.cs
- CacheSection.cs
- RuleConditionDialog.Designer.cs
- IApplicationTrustManager.cs
- TextRunCache.cs
- BitmapEffectInputData.cs
- SqlBulkCopyColumnMapping.cs
- ValueType.cs
- InputBuffer.cs
- FormViewModeEventArgs.cs
- OdbcParameterCollection.cs
- ConversionHelper.cs
- ChtmlTextWriter.cs
- DrawingContextDrawingContextWalker.cs
- UserControlAutomationPeer.cs
- SafeNativeMethods.cs
- MenuDesigner.cs
- loginstatus.cs
- _NegoStream.cs
- DetailsViewRow.cs
- PersonalizationStateInfo.cs
- XmlCodeExporter.cs
- ThreadPoolTaskScheduler.cs
- Style.cs
- FileVersionInfo.cs
- TerminateDesigner.cs
- BitmapData.cs
- Soap11ServerProtocol.cs
- RSAOAEPKeyExchangeDeformatter.cs
- ActivityInterfaces.cs
- EdmSchemaAttribute.cs
- EventToken.cs
- HMACMD5.cs
- Int32CollectionConverter.cs
- GridView.cs
- GridViewSelectEventArgs.cs
- UrlAuthFailedErrorFormatter.cs
- PreviewPrintController.cs
- ImpersonateTokenRef.cs
- ReceiveContext.cs
- GenericUriParser.cs
- RelationshipManager.cs
- NamespaceList.cs
- TreeNodeStyle.cs
- Command.cs
- DependencyPropertyKind.cs
- DriveNotFoundException.cs
- ProfessionalColors.cs
- ProbeMatchesMessage11.cs
- Int16Storage.cs
- UnsafeNativeMethodsMilCoreApi.cs
- LookupBindingPropertiesAttribute.cs
- MethodCallTranslator.cs
- IpcChannel.cs
- DataBinding.cs
- WmlMobileTextWriter.cs
- InternalBufferOverflowException.cs
- _BufferOffsetSize.cs
- TableLayoutPanelCellPosition.cs
- CategoryValueConverter.cs
- brushes.cs
- Cursors.cs
- DataList.cs
- ColorInterpolationModeValidation.cs
- DataConnectionHelper.cs
- AvtEvent.cs
- WebPartHelpVerb.cs
- DetailsViewInsertedEventArgs.cs
- BackEase.cs
- FindCriteria.cs
- HtmlMeta.cs
- MailAddress.cs
- MenuAdapter.cs
- EntityViewGenerator.cs
- Drawing.cs
- RIPEMD160Managed.cs
- PropertyInfoSet.cs
- GraphicsContainer.cs
- SRGSCompiler.cs
- RouteData.cs
- HyperLinkField.cs
- PropertyNames.cs
- odbcmetadatacolumnnames.cs
- QuarticEase.cs
- ProviderCommandInfoUtils.cs
- mansign.cs
- Byte.cs
- ObjectSecurity.cs
- UntrustedRecipientException.cs
- UnsafeNativeMethodsCLR.cs
- DirectionalLight.cs
- SwitchAttribute.cs
- Cursor.cs
- AmbientValueAttribute.cs
- PasswordTextContainer.cs
- SqlDataSourceCache.cs
- ZoneMembershipCondition.cs
- InputEventArgs.cs
- ParameterElementCollection.cs
- SplitterCancelEvent.cs