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
- DbExpressionVisitor_TResultType.cs
- CancellationTokenRegistration.cs
- Italic.cs
- DuplexChannel.cs
- ConstraintManager.cs
- hresults.cs
- AuthenticationSection.cs
- ParameterCollection.cs
- DecoderFallbackWithFailureFlag.cs
- PtsCache.cs
- CopyOnWriteList.cs
- RowToParametersTransformer.cs
- TreeViewImageIndexConverter.cs
- PageContentCollection.cs
- HMAC.cs
- TextRenderer.cs
- MeasurementDCInfo.cs
- BeginStoryboard.cs
- PipelineComponent.cs
- DataBindingCollection.cs
- WebPartMenu.cs
- SettingsContext.cs
- HTMLTextWriter.cs
- DBConcurrencyException.cs
- DataColumn.cs
- Popup.cs
- InternalControlCollection.cs
- ImageCodecInfoPrivate.cs
- FontStyle.cs
- UnsafeNativeMethods.cs
- InvalidEnumArgumentException.cs
- SortKey.cs
- DecimalAnimationBase.cs
- wpf-etw.cs
- FileInfo.cs
- PriorityChain.cs
- DataServiceProcessingPipelineEventArgs.cs
- PasswordBox.cs
- ToolStripDesignerUtils.cs
- ControlPropertyNameConverter.cs
- PropertyGeneratedEventArgs.cs
- DataSysAttribute.cs
- RtfToXamlLexer.cs
- XmlSchemaSimpleTypeRestriction.cs
- DbDataAdapter.cs
- ClientTargetCollection.cs
- WebControl.cs
- PriorityBinding.cs
- XmlSerializerAssemblyAttribute.cs
- CompositeActivityTypeDescriptorProvider.cs
- SqlHelper.cs
- PointLight.cs
- ClickablePoint.cs
- ElapsedEventArgs.cs
- StateMachine.cs
- SerializerProvider.cs
- IntSecurity.cs
- TagMapCollection.cs
- XmlTextAttribute.cs
- ValueExpressions.cs
- TokenFactoryBase.cs
- Array.cs
- ValueSerializer.cs
- CheckBoxStandardAdapter.cs
- GeometryHitTestParameters.cs
- ITreeGenerator.cs
- NullRuntimeConfig.cs
- AutomationPropertyInfo.cs
- XmlAttribute.cs
- Events.cs
- ImageMapEventArgs.cs
- BindUriHelper.cs
- DisplayNameAttribute.cs
- formatter.cs
- HwndTarget.cs
- UserInitiatedNavigationPermission.cs
- ManipulationLogic.cs
- Deflater.cs
- TextSelectionHighlightLayer.cs
- ConfigurationSectionCollection.cs
- EventLogger.cs
- EventDescriptorCollection.cs
- ContentType.cs
- EventDescriptor.cs
- DataServiceHost.cs
- DecoderReplacementFallback.cs
- GiveFeedbackEvent.cs
- WindowHideOrCloseTracker.cs
- ExpressionConverter.cs
- FlagsAttribute.cs
- ObjectViewFactory.cs
- SqlRecordBuffer.cs
- XmlSchemaCompilationSettings.cs
- InProcStateClientManager.cs
- ContextQuery.cs
- ReadOnlyCollectionBuilder.cs
- RemotingException.cs
- DataException.cs
- NameObjectCollectionBase.cs
- CodeMemberProperty.cs