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; ////// /// [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)] public class DataColumnSelectionConverter : TypeConverter { ////// Provides design-time support for a gridview's bound field's data field properties. /// ////// /// public DataColumnSelectionConverter() { } ////// Initializes a new instance of ///. /// /// /// public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { if (sourceType == typeof(string)) { return true; } return false; } ////// 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 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); } ////// Converts the given object to the converter's native type. /// ////// /// 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 the data fields of the bound fields and autogenerated fields in the current gridview for the //// RowHeaderColumn and SummaryHeaderColumn properties. /// ////// /// public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) { return false; } ////// 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 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./// Gets a value indicating whether this object supports a standard set of values /// that can be picked from a list. /// ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PaperSize.cs
- Pointer.cs
- MethodCallConverter.cs
- ArrangedElementCollection.cs
- ByteRangeDownloader.cs
- OutArgumentConverter.cs
- PathTooLongException.cs
- FormsAuthenticationUser.cs
- ViewManager.cs
- MergeLocalizationDirectives.cs
- FieldBuilder.cs
- RemotingAttributes.cs
- Globals.cs
- NavigateEvent.cs
- HttpWebRequest.cs
- ServerIdentity.cs
- QueryContinueDragEvent.cs
- DefaultShape.cs
- PropertyTabAttribute.cs
- TextServicesPropertyRanges.cs
- ObjectListShowCommandsEventArgs.cs
- CryptoApi.cs
- ComEventsInfo.cs
- SurrogateSelector.cs
- LazyLoadBehavior.cs
- TextParentUndoUnit.cs
- Normalization.cs
- _CacheStreams.cs
- SimpleWebHandlerParser.cs
- SystemColors.cs
- XmlChoiceIdentifierAttribute.cs
- IndexedEnumerable.cs
- CommandHelper.cs
- DesignSurfaceCollection.cs
- ConnectionStringsSection.cs
- XmlIlVisitor.cs
- SiteMapNodeItemEventArgs.cs
- DummyDataSource.cs
- TypeInfo.cs
- AutomationElement.cs
- XmlLinkedNode.cs
- HttpUnhandledOperationInvoker.cs
- DictionarySectionHandler.cs
- WebHeaderCollection.cs
- DataBinding.cs
- HtmlTableRow.cs
- SessionStateItemCollection.cs
- StringDictionary.cs
- SerializationUtility.cs
- TableItemProviderWrapper.cs
- AssemblyNameProxy.cs
- webclient.cs
- ErrorInfoXmlDocument.cs
- safelinkcollection.cs
- ObjectPropertyMapping.cs
- EntitySetDataBindingList.cs
- CodeLinePragma.cs
- TableHeaderCell.cs
- ContentWrapperAttribute.cs
- GZipStream.cs
- BitmapSizeOptions.cs
- LockCookie.cs
- EncoderBestFitFallback.cs
- _NegotiateClient.cs
- TypographyProperties.cs
- CustomLineCap.cs
- DataGridViewCellLinkedList.cs
- CustomErrorsSection.cs
- ServicePrincipalNameElement.cs
- IteratorFilter.cs
- CustomLineCap.cs
- ProcessManager.cs
- StandardBindingImporter.cs
- EventTrigger.cs
- StructuralObject.cs
- SqlInternalConnectionTds.cs
- ManipulationPivot.cs
- FontStyle.cs
- BamlRecordHelper.cs
- EllipseGeometry.cs
- MetadataSerializer.cs
- Padding.cs
- DeleteMemberBinder.cs
- PreservationFileWriter.cs
- ErrorTableItemStyle.cs
- SystemKeyConverter.cs
- filewebresponse.cs
- DataConnectionHelper.cs
- OnOperation.cs
- SslStream.cs
- DataServiceEntityAttribute.cs
- LoginDesignerUtil.cs
- ContentValidator.cs
- WebBrowsableAttribute.cs
- ArraySortHelper.cs
- TickBar.cs
- MappingItemCollection.cs
- RequestTimeoutManager.cs
- TextChangedEventArgs.cs
- SystemIPv6InterfaceProperties.cs