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
- Timeline.cs
- Bookmark.cs
- SqlConnectionPoolProviderInfo.cs
- ExpressionBindingCollection.cs
- BaseValidator.cs
- BufferBuilder.cs
- XPathDocumentIterator.cs
- ElapsedEventArgs.cs
- AsymmetricKeyExchangeDeformatter.cs
- SerializationIncompleteException.cs
- ListViewTableRow.cs
- OracleConnection.cs
- ArgumentException.cs
- TemplateControlBuildProvider.cs
- NativeRightsManagementAPIsStructures.cs
- Crypto.cs
- BaseHashHelper.cs
- MenuTracker.cs
- DefaultBindingPropertyAttribute.cs
- PropertyTabAttribute.cs
- TextStore.cs
- NetStream.cs
- ButtonAutomationPeer.cs
- MenuItemStyleCollection.cs
- EndEvent.cs
- CreateInstanceBinder.cs
- Setter.cs
- Metafile.cs
- ConfigurationLocation.cs
- SecurityPermission.cs
- SQLRoleProvider.cs
- DataSourceView.cs
- DeploymentSectionCache.cs
- MailMessage.cs
- Latin1Encoding.cs
- InvalidWMPVersionException.cs
- DesignerAttribute.cs
- FormParameter.cs
- RotateTransform.cs
- Fonts.cs
- TdsRecordBufferSetter.cs
- XmlEventCache.cs
- TextBoxDesigner.cs
- FontSourceCollection.cs
- Directory.cs
- SqlFunctionAttribute.cs
- QilGeneratorEnv.cs
- ReadOnlyHierarchicalDataSource.cs
- _RequestCacheProtocol.cs
- PolicyException.cs
- VirtualDirectoryMappingCollection.cs
- ObjectListFieldsPage.cs
- TransactionTable.cs
- CodeGen.cs
- Schema.cs
- Pointer.cs
- ImageSourceValueSerializer.cs
- ListItemCollection.cs
- SiteMapNodeCollection.cs
- RemotingAttributes.cs
- XhtmlBasicPageAdapter.cs
- X509CertificateEndpointIdentity.cs
- DateTimeFormatInfo.cs
- Int16Animation.cs
- ListViewDataItem.cs
- XsltException.cs
- ManifestSignedXml.cs
- ShutDownListener.cs
- XmlCharacterData.cs
- PackagingUtilities.cs
- NavigationCommands.cs
- RtfControlWordInfo.cs
- EntityCommandCompilationException.cs
- BindableTemplateBuilder.cs
- CurrencyManager.cs
- XamlRtfConverter.cs
- Link.cs
- SmiMetaData.cs
- KeyValueConfigurationElement.cs
- DodSequenceMerge.cs
- DES.cs
- WebPartMovingEventArgs.cs
- EntitySetBase.cs
- XmlWrappingReader.cs
- RawStylusInputReport.cs
- GeneratedCodeAttribute.cs
- NoPersistScope.cs
- ErrorRuntimeConfig.cs
- EventLogger.cs
- GenericTypeParameterBuilder.cs
- OpacityConverter.cs
- ADMembershipUser.cs
- ErrorTableItemStyle.cs
- HttpApplicationFactory.cs
- BamlLocalizer.cs
- Menu.cs
- InternalCache.cs
- HtmlInputPassword.cs
- UpdateEventArgs.cs
- CodeConditionStatement.cs