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
- SrgsElementFactoryCompiler.cs
- ExpandCollapsePattern.cs
- XmlNodeChangedEventArgs.cs
- GridView.cs
- Timeline.cs
- ListBindingHelper.cs
- CategoryGridEntry.cs
- StorageMappingItemCollection.cs
- GorillaCodec.cs
- XmlSerializationReader.cs
- SqlTypeConverter.cs
- StylusOverProperty.cs
- XmlQueryContext.cs
- ControlCodeDomSerializer.cs
- JoinSymbol.cs
- OutputCacheProfileCollection.cs
- HttpListener.cs
- DBCommandBuilder.cs
- Pool.cs
- EastAsianLunisolarCalendar.cs
- ContainerFilterService.cs
- DataFormats.cs
- Rect.cs
- SevenBitStream.cs
- ItemsControl.cs
- BindableTemplateBuilder.cs
- HtmlInputReset.cs
- CodeEventReferenceExpression.cs
- TreeViewCancelEvent.cs
- DataMisalignedException.cs
- RootProfilePropertySettingsCollection.cs
- SmiRequestExecutor.cs
- NetMsmqSecurityElement.cs
- InternalConfigRoot.cs
- EntityContainerEmitter.cs
- webeventbuffer.cs
- ObjRef.cs
- GradientStop.cs
- DataPointer.cs
- Point3DCollection.cs
- WebBrowserNavigatingEventHandler.cs
- RewritingProcessor.cs
- WorkflowDataContext.cs
- WebCodeGenerator.cs
- ExtenderControl.cs
- DataGridDesigner.cs
- Tuple.cs
- DataGridTableStyleMappingNameEditor.cs
- DictionaryCustomTypeDescriptor.cs
- DataColumnPropertyDescriptor.cs
- ServicePoint.cs
- PartialClassGenerationTask.cs
- ContentElement.cs
- MetadataCacheItem.cs
- AutomationFocusChangedEventArgs.cs
- SwitchElementsCollection.cs
- LogEntryHeaderv1Deserializer.cs
- DataSourceSelectArguments.cs
- XmlHierarchicalEnumerable.cs
- UserControl.cs
- XPathNavigatorKeyComparer.cs
- ImageConverter.cs
- ConnectionsZone.cs
- OleDbParameterCollection.cs
- PopOutPanel.cs
- ListItemConverter.cs
- RightsManagementPermission.cs
- AssemblyCacheEntry.cs
- OneOfScalarConst.cs
- FormViewDesigner.cs
- DirectoryInfo.cs
- NodeInfo.cs
- GridViewPageEventArgs.cs
- ClientBuildManagerCallback.cs
- FormView.cs
- XmlMemberMapping.cs
- ControlFilterExpression.cs
- InputReportEventArgs.cs
- TextBoxBase.cs
- XmlTextReaderImpl.cs
- MatrixValueSerializer.cs
- ImpersonationContext.cs
- EventKeyword.cs
- TreeNodeConverter.cs
- IListConverters.cs
- OdbcDataAdapter.cs
- ComNativeDescriptor.cs
- FillRuleValidation.cs
- NavigationProperty.cs
- Clause.cs
- UrlMappingsSection.cs
- DataObjectEventArgs.cs
- M3DUtil.cs
- AdornerHitTestResult.cs
- ReferencedAssembly.cs
- RenderContext.cs
- BrowsableAttribute.cs
- SapiRecognizer.cs
- SystemSounds.cs
- ConfigurationPermission.cs