Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Command.cs
- InputLanguageSource.cs
- WebRequest.cs
- BitmapEffectGroup.cs
- DynamicILGenerator.cs
- BitmapImage.cs
- TextParagraph.cs
- ProgressBar.cs
- FrameworkPropertyMetadata.cs
- FrameworkElementFactoryMarkupObject.cs
- DataServiceException.cs
- ApplicationServiceHelper.cs
- SqlGatherProducedAliases.cs
- ComPlusAuthorization.cs
- DocComment.cs
- XmlSchemaGroup.cs
- IteratorFilter.cs
- ExistsInCollection.cs
- QueryContinueDragEvent.cs
- ArraySortHelper.cs
- GridProviderWrapper.cs
- ThreadStartException.cs
- RewritingPass.cs
- TraceContextEventArgs.cs
- Int16KeyFrameCollection.cs
- FileAuthorizationModule.cs
- StrongTypingException.cs
- TextEditorCharacters.cs
- ReturnEventArgs.cs
- SqlDataAdapter.cs
- DesignerRegion.cs
- nulltextcontainer.cs
- Annotation.cs
- SQLMoneyStorage.cs
- WebControlsSection.cs
- CodeIndexerExpression.cs
- InstanceDescriptor.cs
- ZipIOExtraFieldElement.cs
- MediaContext.cs
- Win32NamedPipes.cs
- Events.cs
- DnsPermission.cs
- AuthorizationRuleCollection.cs
- EventEntry.cs
- HttpListenerRequest.cs
- BaseResourcesBuildProvider.cs
- BaseProcessor.cs
- MenuCommand.cs
- BrowsableAttribute.cs
- ETagAttribute.cs
- ToolZone.cs
- BaseCodeDomTreeGenerator.cs
- StylusButtonCollection.cs
- DataGridViewCellFormattingEventArgs.cs
- NetNamedPipeBindingCollectionElement.cs
- TimeZone.cs
- ActionMessageFilter.cs
- XmlDocument.cs
- ReadOnlyCollection.cs
- ListViewInsertedEventArgs.cs
- InvalidAsynchronousStateException.cs
- HashRepartitionEnumerator.cs
- COM2EnumConverter.cs
- SqlDataSourceCustomCommandEditor.cs
- NumericPagerField.cs
- TextRunTypographyProperties.cs
- VisualTreeUtils.cs
- HttpInputStream.cs
- HttpStreamXmlDictionaryWriter.cs
- HitTestFilterBehavior.cs
- CellConstantDomain.cs
- PropertyTabChangedEvent.cs
- GridViewHeaderRowPresenter.cs
- TouchFrameEventArgs.cs
- MatrixAnimationUsingKeyFrames.cs
- CachedBitmap.cs
- ArrayElementGridEntry.cs
- ColorConverter.cs
- SafeMarshalContext.cs
- AdornedElementPlaceholder.cs
- MediaTimeline.cs
- ResourceDictionary.cs
- OpenTypeCommon.cs
- X509WindowsSecurityToken.cs
- SqlDataAdapter.cs
- TextContainerChangeEventArgs.cs
- DataReaderContainer.cs
- Visual3DCollection.cs
- Console.cs
- RoleGroupCollection.cs
- StopStoryboard.cs
- BindableTemplateBuilder.cs
- DbTransaction.cs
- FormatterServices.cs
- ButtonAutomationPeer.cs
- TypeListConverter.cs
- DynamicRendererThreadManager.cs
- GeometryValueSerializer.cs
- DataGridRowsPresenter.cs
- WebPartHelpVerb.cs