Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebControls / TemplateColumn.cs / 1 / TemplateColumn.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System; using System.Collections; using System.ComponentModel; using System.Web; using System.Web.UI; using System.Security.Permissions; ////// // [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class TemplateColumn : DataGridColumn { private ITemplate headerTemplate; private ITemplate footerTemplate; private ITemplate itemTemplate; private ITemplate editItemTemplate; ///Defines the template for controls layout within a /// ////// column. /// Initializes a new instance of the public TemplateColumn() { } ///class. /// /// [ Browsable(false), DefaultValue(null), WebSysDescription(SR.TemplateColumn_EditItemTemplate), PersistenceMode(PersistenceMode.InnerProperty), TemplateContainer(typeof(DataGridItem)) ] public virtual ITemplate EditItemTemplate { get { return editItemTemplate; } set { editItemTemplate = value; OnColumnChanged(); } } ///Specifies the ///that defines how items in edit mode are rendered. /// [ Browsable(false), DefaultValue(null), WebSysDescription(SR.TemplateColumn_FooterTemplate), PersistenceMode(PersistenceMode.InnerProperty), TemplateContainer(typeof(DataGridItem)) ] public virtual ITemplate FooterTemplate { get { return footerTemplate; } set { footerTemplate = value; OnColumnChanged(); } } ///Specifies the ///that defines how the control footer is rendered. /// [ Browsable(false), DefaultValue(null), WebSysDescription(SR.TemplateColumn_HeaderTemplate), PersistenceMode(PersistenceMode.InnerProperty), TemplateContainer(typeof(DataGridItem)) ] public virtual ITemplate HeaderTemplate { get { return headerTemplate; } set { headerTemplate = value; OnColumnChanged(); } } ///Specifies the ////// that defines how the control header is rendered. /// [ Browsable(false), DefaultValue(null), WebSysDescription(SR.TemplateColumn_ItemTemplate), PersistenceMode(PersistenceMode.InnerProperty), TemplateContainer(typeof(DataGridItem)) ] public virtual ITemplate ItemTemplate { get { return itemTemplate; } set { itemTemplate = value; OnColumnChanged(); } } ///Specifies the ///that defines how items are rendered. /// /// public override void InitializeCell(TableCell cell, int columnIndex, ListItemType itemType) { base.InitializeCell(cell, columnIndex, itemType); ITemplate contentTemplate = null; switch (itemType) { case ListItemType.Header: contentTemplate = headerTemplate; break; case ListItemType.Footer: contentTemplate = footerTemplate; break; case ListItemType.Item: case ListItemType.AlternatingItem: case ListItemType.SelectedItem: contentTemplate = itemTemplate; break; case ListItemType.EditItem: if (editItemTemplate != null) contentTemplate = editItemTemplate; else goto case ListItemType.Item; break; } if (contentTemplate != null) { // The base class might have added a control or some text for some cases // such as header text which need to be removed before // the corresponding template is used. // Note that setting text also has the effect of clearing out any controls. cell.Text = String.Empty; contentTemplate.InstantiateIn(cell); } else { if (itemType == ListItemType.Item || itemType == ListItemType.AlternatingItem || itemType == ListItemType.SelectedItem || itemType == ListItemType.EditItem) { cell.Text = " "; } } } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TabItemWrapperAutomationPeer.cs
- AnimatedTypeHelpers.cs
- CompositeScriptReference.cs
- CompareInfo.cs
- DataGridViewTopRowAccessibleObject.cs
- ViewEventArgs.cs
- log.cs
- AtomServiceDocumentSerializer.cs
- XpsS0ValidatingLoader.cs
- MatrixAnimationBase.cs
- XmlArrayAttribute.cs
- IntranetCredentialPolicy.cs
- InputReport.cs
- ObjectView.cs
- Control.cs
- SqlDataSourceDesigner.cs
- LicFileLicenseProvider.cs
- ProcessThread.cs
- WebSysDefaultValueAttribute.cs
- RemotingConfigParser.cs
- DuplexChannel.cs
- SafeNativeMethodsCLR.cs
- HttpListenerException.cs
- AlternateView.cs
- ScopeElement.cs
- EnumerableCollectionView.cs
- FileChangeNotifier.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- UncommonField.cs
- EntityCollection.cs
- RegexInterpreter.cs
- SwitchElementsCollection.cs
- HttpStreamFormatter.cs
- XmlAttribute.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- XmlHierarchyData.cs
- TimestampInformation.cs
- DoWorkEventArgs.cs
- ListenerConfig.cs
- UserValidatedEventArgs.cs
- InvalidPropValue.cs
- FixedPageAutomationPeer.cs
- CustomCredentialPolicy.cs
- Floater.cs
- DataGridViewDataErrorEventArgs.cs
- XmlExpressionDumper.cs
- GestureRecognitionResult.cs
- ControllableStoryboardAction.cs
- SchemaNames.cs
- ColorDialog.cs
- RegexMatchCollection.cs
- WindowsFont.cs
- SqlUserDefinedTypeAttribute.cs
- MaterialCollection.cs
- Decoder.cs
- StdValidatorsAndConverters.cs
- GeometryModel3D.cs
- ExecutionContext.cs
- SubpageParaClient.cs
- DocumentDesigner.cs
- StorageEntityTypeMapping.cs
- ExpressionTextBox.xaml.cs
- ValidationUtility.cs
- httpapplicationstate.cs
- RealProxy.cs
- UpdateExpressionVisitor.cs
- ThreadNeutralSemaphore.cs
- cookie.cs
- Track.cs
- dataobject.cs
- PriorityChain.cs
- Aggregates.cs
- DriveNotFoundException.cs
- JavaScriptObjectDeserializer.cs
- AliasExpr.cs
- LinqDataSourceStatusEventArgs.cs
- LineBreakRecord.cs
- CodeDOMUtility.cs
- LinkButton.cs
- Parser.cs
- ProcessInputEventArgs.cs
- Monitor.cs
- ProcessHostMapPath.cs
- Splitter.cs
- WebPartDescription.cs
- AssemblyInfo.cs
- InputLanguageEventArgs.cs
- Vector3DCollection.cs
- EventEntry.cs
- TabControlEvent.cs
- UnsafeNativeMethods.cs
- ExpressionTable.cs
- WebPartConnectionsCancelVerb.cs
- Rfc2898DeriveBytes.cs
- StackBuilderSink.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- CodeComment.cs
- LinkButton.cs
- DateTimeSerializationSection.cs
- Propagator.Evaluator.cs