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
- WebPageTraceListener.cs
- SortFieldComparer.cs
- WaitHandleCannotBeOpenedException.cs
- TransactionScope.cs
- SynchronousChannel.cs
- SplitterDesigner.cs
- DescendantOverDescendantQuery.cs
- CompositeDuplexBindingElementImporter.cs
- mediaeventshelper.cs
- Timeline.cs
- FixedPageStructure.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- XmlComplianceUtil.cs
- RightsManagementPermission.cs
- ExtentCqlBlock.cs
- AsyncPostBackErrorEventArgs.cs
- Error.cs
- WebPartManagerInternals.cs
- SamlEvidence.cs
- PageContent.cs
- Number.cs
- ZeroOpNode.cs
- OrthographicCamera.cs
- SafeNativeMethods.cs
- SqlDataSourceSelectingEventArgs.cs
- SimpleWebHandlerParser.cs
- CapabilitiesRule.cs
- SystemResourceHost.cs
- LoginCancelEventArgs.cs
- TreeViewDesigner.cs
- BitmapFrameDecode.cs
- AddingNewEventArgs.cs
- ListViewHitTestInfo.cs
- TraceHandlerErrorFormatter.cs
- CorrelationKeyCalculator.cs
- MaterialGroup.cs
- FlowSwitchLink.cs
- StdValidatorsAndConverters.cs
- StorageRoot.cs
- EnumUnknown.cs
- PreviewPrintController.cs
- AssemblySettingAttributes.cs
- GridSplitter.cs
- UpdateExpressionVisitor.cs
- PathSegmentCollection.cs
- Permission.cs
- SystemColors.cs
- ButtonBase.cs
- Int64Converter.cs
- ActivityMarkupSerializer.cs
- PropertyPushdownHelper.cs
- QuaternionRotation3D.cs
- UIElement3D.cs
- ListViewItem.cs
- LogAppendAsyncResult.cs
- XmlValidatingReader.cs
- HierarchicalDataBoundControl.cs
- PenCursorManager.cs
- Registry.cs
- DiscoveryUtility.cs
- GenerateScriptTypeAttribute.cs
- EmbeddedMailObjectsCollection.cs
- TextChangedEventArgs.cs
- DetailsViewPageEventArgs.cs
- BlurBitmapEffect.cs
- _SingleItemRequestCache.cs
- ImpersonateTokenRef.cs
- ImageClickEventArgs.cs
- PrinterSettings.cs
- BlobPersonalizationState.cs
- AccessibleObject.cs
- Range.cs
- EntityDataSourceWizardForm.cs
- TriggerBase.cs
- Image.cs
- WebPartDisplayModeCancelEventArgs.cs
- AdRotator.cs
- SqlSelectStatement.cs
- ButtonField.cs
- SemaphoreSecurity.cs
- RealizedColumnsBlock.cs
- DataViewManagerListItemTypeDescriptor.cs
- SystemUnicastIPAddressInformation.cs
- DesignerTransactionCloseEvent.cs
- ObjectHandle.cs
- HttpCacheParams.cs
- HttpWebRequest.cs
- XPathDocumentBuilder.cs
- PointConverter.cs
- activationcontext.cs
- OleDbError.cs
- SHA512Managed.cs
- RequestStatusBarUpdateEventArgs.cs
- PropertyValueChangedEvent.cs
- NativeRecognizer.cs
- CodeCastExpression.cs
- ImmComposition.cs
- IPipelineRuntime.cs
- DoubleLinkList.cs
- Comparer.cs