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
- DocumentCollection.cs
- AuthenticationModuleElement.cs
- ReceiveMessageAndVerifySecurityAsyncResultBase.cs
- HtmlInputButton.cs
- WindowsGrip.cs
- BinaryWriter.cs
- OdbcInfoMessageEvent.cs
- ProfileServiceManager.cs
- ContextBase.cs
- DesignerVerbCollection.cs
- PageThemeBuildProvider.cs
- SoundPlayer.cs
- mediaclock.cs
- SafeRegistryHandle.cs
- ConsoleKeyInfo.cs
- VectorAnimationUsingKeyFrames.cs
- ObjectListCommandsPage.cs
- PathFigure.cs
- GroupDescription.cs
- PropertyGridCommands.cs
- CacheRequest.cs
- TextServicesCompartmentContext.cs
- DataGridItemEventArgs.cs
- RequestCache.cs
- AttachedPropertyBrowsableAttribute.cs
- AncestorChangedEventArgs.cs
- SmiEventSink_Default.cs
- PersonalizationProviderHelper.cs
- SQLSingleStorage.cs
- SQLDecimalStorage.cs
- DashStyle.cs
- ThreadStartException.cs
- CompoundFileStreamReference.cs
- RelationshipEndMember.cs
- WSDualHttpBindingCollectionElement.cs
- PermissionToken.cs
- SpeakCompletedEventArgs.cs
- DPCustomTypeDescriptor.cs
- BoolLiteral.cs
- TemporaryBitmapFile.cs
- ErrorWrapper.cs
- FilteredDataSetHelper.cs
- Helper.cs
- BinaryQueryOperator.cs
- WorkflowInstance.cs
- OLEDB_Util.cs
- WinInet.cs
- XmlSchemaAnyAttribute.cs
- SoapClientProtocol.cs
- ConfigXmlElement.cs
- TopClause.cs
- CardSpaceShim.cs
- FixedSOMPageElement.cs
- CommandEventArgs.cs
- SBCSCodePageEncoding.cs
- FormViewRow.cs
- PrintControllerWithStatusDialog.cs
- IfAction.cs
- _TimerThread.cs
- ToolStripManager.cs
- SlipBehavior.cs
- Html32TextWriter.cs
- NodeLabelEditEvent.cs
- ADMembershipProvider.cs
- Stopwatch.cs
- TypeGenericEnumerableViewSchema.cs
- BitmapPalette.cs
- DataGridViewTopRowAccessibleObject.cs
- MenuItem.cs
- SmiEventSink_Default.cs
- ContainerSelectorBehavior.cs
- ToolStripOverflow.cs
- FillBehavior.cs
- SizeAnimationUsingKeyFrames.cs
- RemoteArgument.cs
- __FastResourceComparer.cs
- QuaternionKeyFrameCollection.cs
- Int64Converter.cs
- MissingMethodException.cs
- StandardCommands.cs
- TabPage.cs
- diagnosticsswitches.cs
- SecurityTokenProvider.cs
- BaseDataList.cs
- CodeObjectCreateExpression.cs
- XmlArrayItemAttribute.cs
- SetStoryboardSpeedRatio.cs
- SecureUICommand.cs
- ObjectHelper.cs
- Schema.cs
- SqlDataSourceQuery.cs
- MexTcpBindingCollectionElement.cs
- CssTextWriter.cs
- TimeSpanConverter.cs
- SrgsItemList.cs
- XPathNavigator.cs
- RootDesignerSerializerAttribute.cs
- BulletedList.cs
- GroupBox.cs
- DataServiceContext.cs