Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / DynamicData / DynamicData / DefaultAutoFieldGenerator.cs / 1305376 / DefaultAutoFieldGenerator.cs
namespace System.Web.DynamicData { using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Web.DynamicData.Util; using System.Web.UI; using System.Web.UI.WebControls; public class DefaultAutoFieldGenerator : IAutoFieldGenerator { private IMetaTable _metaTable; public DefaultAutoFieldGenerator(MetaTable table) : this((IMetaTable)table) { } internal DefaultAutoFieldGenerator(IMetaTable table) { if (table == null) { throw new ArgumentNullException("table"); } _metaTable = table; } public ICollection GenerateFields(Control control) { DataBoundControlMode mode = GetMode(control); ContainerType containerType = GetControlContainerType(control); // Auto-generate fields from metadata. Listfields = new List (); foreach (MetaColumn column in _metaTable.GetScaffoldColumns(mode, containerType)) { fields.Add(CreateField(column, containerType, mode)); } return fields; } protected virtual DynamicField CreateField(MetaColumn column, ContainerType containerType, DataBoundControlMode mode) { string headerText = (containerType == ContainerType.List ? column.ShortDisplayName : column.DisplayName); var field = new DynamicField() { DataField = column.Name, HeaderText = headerText }; // Turn wrapping off by default so that error messages don't show up on the next line. field.ItemStyle.Wrap = false; return field; } internal static ContainerType GetControlContainerType(Control control) { #if !ORYX_VNEXT if (control is IDataBoundListControl || control is Repeater) { return ContainerType.List; } else if (control is IDataBoundItemControl) { return ContainerType.Item; } #else if (control is GridView || control is ListView || control is Repeater) { return ContainerType.List; } if (control is FormView || control is DetailsView) { return ContainerType.Item; } #endif return ContainerType.List; } internal static DataBoundControlMode GetMode(Control control) { #if ORYX_VNEXT return DataControlHelper.GetControlAdapter(control).Mode; #else // Only item controls have distinct modes IDataBoundItemControl itemControl = control as IDataBoundItemControl; if (itemControl != null && GetControlContainerType(control) != ContainerType.List) { return itemControl.Mode; } return DataBoundControlMode.ReadOnly; #endif } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Web.DynamicData { using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Web.DynamicData.Util; using System.Web.UI; using System.Web.UI.WebControls; public class DefaultAutoFieldGenerator : IAutoFieldGenerator { private IMetaTable _metaTable; public DefaultAutoFieldGenerator(MetaTable table) : this((IMetaTable)table) { } internal DefaultAutoFieldGenerator(IMetaTable table) { if (table == null) { throw new ArgumentNullException("table"); } _metaTable = table; } public ICollection GenerateFields(Control control) { DataBoundControlMode mode = GetMode(control); ContainerType containerType = GetControlContainerType(control); // Auto-generate fields from metadata. List fields = new List (); foreach (MetaColumn column in _metaTable.GetScaffoldColumns(mode, containerType)) { fields.Add(CreateField(column, containerType, mode)); } return fields; } protected virtual DynamicField CreateField(MetaColumn column, ContainerType containerType, DataBoundControlMode mode) { string headerText = (containerType == ContainerType.List ? column.ShortDisplayName : column.DisplayName); var field = new DynamicField() { DataField = column.Name, HeaderText = headerText }; // Turn wrapping off by default so that error messages don't show up on the next line. field.ItemStyle.Wrap = false; return field; } internal static ContainerType GetControlContainerType(Control control) { #if !ORYX_VNEXT if (control is IDataBoundListControl || control is Repeater) { return ContainerType.List; } else if (control is IDataBoundItemControl) { return ContainerType.Item; } #else if (control is GridView || control is ListView || control is Repeater) { return ContainerType.List; } if (control is FormView || control is DetailsView) { return ContainerType.Item; } #endif return ContainerType.List; } internal static DataBoundControlMode GetMode(Control control) { #if ORYX_VNEXT return DataControlHelper.GetControlAdapter(control).Mode; #else // Only item controls have distinct modes IDataBoundItemControl itemControl = control as IDataBoundItemControl; if (itemControl != null && GetControlContainerType(control) != ContainerType.List) { return itemControl.Mode; } return DataBoundControlMode.ReadOnly; #endif } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DoubleAnimationBase.cs
- TextDecorationLocationValidation.cs
- Perspective.cs
- FrameworkContentElement.cs
- XPathMessageFilterElementCollection.cs
- DropShadowBitmapEffect.cs
- SR.cs
- StreamUpdate.cs
- Rect3D.cs
- LinqDataSourceValidationException.cs
- NumberAction.cs
- XmlBindingWorker.cs
- CheckBox.cs
- QueryExpr.cs
- XPathQilFactory.cs
- InputMethod.cs
- GridView.cs
- WebServiceMethodData.cs
- EventsTab.cs
- UserPreferenceChangingEventArgs.cs
- BitmapFrameDecode.cs
- PassportAuthentication.cs
- EditorPart.cs
- TypeSource.cs
- DataListItem.cs
- IItemProperties.cs
- SafeNativeMethods.cs
- DataGridCommandEventArgs.cs
- CssStyleCollection.cs
- IdnElement.cs
- MD5CryptoServiceProvider.cs
- ToolStripOverflow.cs
- FontConverter.cs
- XPathSingletonIterator.cs
- _IPv4Address.cs
- QueryOperationResponseOfT.cs
- RequestCacheManager.cs
- HashHelper.cs
- SessionStateModule.cs
- PropertyFilter.cs
- MulticastDelegate.cs
- MediaScriptCommandRoutedEventArgs.cs
- SystemIcmpV4Statistics.cs
- DetailsView.cs
- BitmapEffectState.cs
- DataGridViewColumnConverter.cs
- ProtocolInformationWriter.cs
- TransformGroup.cs
- FamilyTypeface.cs
- DBCommand.cs
- XamlLoadErrorInfo.cs
- ApplicationFileParser.cs
- Qualifier.cs
- WebPartEditorApplyVerb.cs
- HostedHttpTransportManager.cs
- RoutedEvent.cs
- DataSourceControl.cs
- SimpleTextLine.cs
- XmlNullResolver.cs
- Padding.cs
- WindowsTreeView.cs
- UIElementIsland.cs
- HotCommands.cs
- WsdlWriter.cs
- CharUnicodeInfo.cs
- AlphabeticalEnumConverter.cs
- DrawToolTipEventArgs.cs
- ProtocolsConfiguration.cs
- XamlFigureLengthSerializer.cs
- VarInfo.cs
- SlotInfo.cs
- ScriptHandlerFactory.cs
- ArraySegment.cs
- StringReader.cs
- RtfFormatStack.cs
- shaperfactoryquerycachekey.cs
- ClientClassGenerator.cs
- StickyNoteContentControl.cs
- SemanticTag.cs
- TagNameToTypeMapper.cs
- CapabilitiesState.cs
- ThumbAutomationPeer.cs
- DiscoveryVersionConverter.cs
- CompilerCollection.cs
- ComponentChangedEvent.cs
- OrCondition.cs
- ObjectListCommandsPage.cs
- CodeCommentStatementCollection.cs
- OperationAbortedException.cs
- SolidColorBrush.cs
- ToolStripRenderer.cs
- ISCIIEncoding.cs
- GenericTypeParameterBuilder.cs
- IntegerValidatorAttribute.cs
- ByteRangeDownloader.cs
- ReadOnlyPropertyMetadata.cs
- PageAsyncTaskManager.cs
- Annotation.cs
- EventBookmark.cs
- TraceHandler.cs