Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WebForms / System / Web / UI / Design / DataColumnSelectionConverter.cs / 1 / DataColumnSelectionConverter.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.Data;
using System.Design;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Globalization;
using System.Web.UI.Design.WebControls;
using System.Web.UI.WebControls;
///
///
///
/// Provides design-time support for a gridview's bound field's data field properties.
///
///
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)]
public class DataColumnSelectionConverter : TypeConverter {
///
///
///
/// Initializes a new instance of .
///
///
public DataColumnSelectionConverter() {
}
///
///
///
/// 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 data fields of the bound fields and autogenerated fields in the current gridview for the
//// RowHeaderColumn and SummaryHeaderColumn properties.
///
///
public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) {
string[] names = null;
ArrayList namesList = new ArrayList();
if (context != null) {
IComponent component = context.Instance as IComponent;
if (component != null) {
GridView gridView = component as GridView;
if (gridView != null) {
if (gridView.AutoGenerateColumns) {
// add all the fields
DataFieldConverter dataFieldConverter = new DataFieldConverter();
StandardValuesCollection values = dataFieldConverter.GetStandardValues(context);
foreach (object value in values) {
namesList.Add(value);
}
}
DataControlFieldCollection fields = gridView.Columns;
foreach (DataControlField field in fields) {
BoundField boundField = field as BoundField;
if (boundField != null) {
string dataField = boundField.DataField;
if (!namesList.Contains(dataField)) {
namesList.Add(dataField);
}
}
}
namesList.Sort();
names = new string[namesList.Count];
namesList.CopyTo(names, 0);
}
}
}
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 IComponent) {
// We only support the dropdown in single-select mode.
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
- ColorConvertedBitmap.cs
- FontNamesConverter.cs
- FusionWrap.cs
- DefaultValueAttribute.cs
- PreloadHost.cs
- NativeMethods.cs
- PrinterResolution.cs
- SQLByte.cs
- WrapperEqualityComparer.cs
- ObjectViewListener.cs
- PageParser.cs
- EastAsianLunisolarCalendar.cs
- WebPartConnectionsCancelVerb.cs
- Expr.cs
- WpfPayload.cs
- TextDecorations.cs
- SrgsToken.cs
- TraceUtility.cs
- TransformBlockRequest.cs
- InnerItemCollectionView.cs
- WinFormsUtils.cs
- StrokeSerializer.cs
- OleDbCommandBuilder.cs
- RectKeyFrameCollection.cs
- RunWorkerCompletedEventArgs.cs
- RelationshipWrapper.cs
- AbstractSvcMapFileLoader.cs
- XmlSchemaExporter.cs
- UnsettableComboBox.cs
- WebPartUtil.cs
- Int32AnimationUsingKeyFrames.cs
- AnnotationResourceCollection.cs
- TextTreeUndo.cs
- DataGridViewTopLeftHeaderCell.cs
- InputLangChangeEvent.cs
- PointConverter.cs
- SafeArchiveContext.cs
- DebugHandleTracker.cs
- FastPropertyAccessor.cs
- RequestCachingSection.cs
- SerializationEventsCache.cs
- ToolStripSeparator.cs
- XmlSchemaObject.cs
- CustomWebEventKey.cs
- RtfToXamlLexer.cs
- RelOps.cs
- TextEncodedRawTextWriter.cs
- MatrixAnimationBase.cs
- CustomAttribute.cs
- PropertyValueChangedEvent.cs
- Internal.cs
- XmlAttributeCache.cs
- DependencyPropertyValueSerializer.cs
- DataGridViewColumnCollectionEditor.cs
- OleDbWrapper.cs
- MsmqHostedTransportConfiguration.cs
- Rect3D.cs
- SqlBuffer.cs
- FormatConvertedBitmap.cs
- PropertySegmentSerializer.cs
- DataGrid.cs
- SocketInformation.cs
- ScrollViewer.cs
- ChameleonKey.cs
- OleDbTransaction.cs
- DoubleAnimationClockResource.cs
- LayoutExceptionEventArgs.cs
- MemberCollection.cs
- CombinedGeometry.cs
- HyperLinkDesigner.cs
- BufferAllocator.cs
- AutomationPeer.cs
- InputEventArgs.cs
- FontDriver.cs
- ImageClickEventArgs.cs
- WebHttpElement.cs
- ToolBarButton.cs
- ToolStripSplitButton.cs
- DocumentSequence.cs
- ProfileService.cs
- NullableBoolConverter.cs
- CodeSubDirectoriesCollection.cs
- DecoderFallback.cs
- DiscardableAttribute.cs
- HealthMonitoringSectionHelper.cs
- GenericTypeParameterBuilder.cs
- ExpressionBindingCollection.cs
- xdrvalidator.cs
- DataControlFieldCollection.cs
- CompatibleIComparer.cs
- XmlSchemaAnnotation.cs
- QilLiteral.cs
- UniqueSet.cs
- SqlDataSourceStatusEventArgs.cs
- MemberPath.cs
- ClockGroup.cs
- SystemUnicastIPAddressInformation.cs
- CellRelation.cs
- DynamicVirtualDiscoSearcher.cs
- ReaderWriterLock.cs