Code:
/ FX-1434 / FX-1434 / 1.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
- BaseAsyncResult.cs
- StatusCommandUI.cs
- DecoratedNameAttribute.cs
- DataRecordInternal.cs
- MapPathBasedVirtualPathProvider.cs
- LocalizableAttribute.cs
- EventRoute.cs
- FixedFlowMap.cs
- ListViewItemSelectionChangedEvent.cs
- ForwardPositionQuery.cs
- ServiceControllerDesigner.cs
- TypeBuilderInstantiation.cs
- CachedFontFace.cs
- ToolStripManager.cs
- NGCSerializerAsync.cs
- MsdtcWrapper.cs
- DataList.cs
- UnauthorizedWebPart.cs
- NextPreviousPagerField.cs
- IxmlLineInfo.cs
- ApplicationServiceHelper.cs
- GlobalAclOperationRequirement.cs
- CodeChecksumPragma.cs
- TextBoxLine.cs
- EventProviderTraceListener.cs
- SelectionGlyph.cs
- DataKeyCollection.cs
- LoginName.cs
- ConnectionPoolManager.cs
- TranslateTransform.cs
- SvcMapFileSerializer.cs
- CFGGrammar.cs
- RectValueSerializer.cs
- EditorOptionAttribute.cs
- SoapServerProtocol.cs
- securitycriticaldataClass.cs
- X509CertificateInitiatorClientCredential.cs
- IChannel.cs
- DataGridTable.cs
- Logging.cs
- StrongName.cs
- ListComponentEditor.cs
- Signature.cs
- SchemaInfo.cs
- ConfigurationCollectionAttribute.cs
- XmlNamedNodeMap.cs
- LayoutUtils.cs
- DataGridParentRows.cs
- TextSearch.cs
- SafePEFileHandle.cs
- HtmlCalendarAdapter.cs
- ConfigXmlAttribute.cs
- CqlBlock.cs
- IndexedEnumerable.cs
- ExtensionWindowResizeGrip.cs
- PolicyStatement.cs
- X509DefaultServiceCertificateElement.cs
- SourceFileInfo.cs
- MetaColumn.cs
- MembershipSection.cs
- SingleAnimation.cs
- PermissionAttributes.cs
- DbgUtil.cs
- Debug.cs
- ParallelSeparator.xaml.cs
- SecurityProtocol.cs
- TriggerBase.cs
- OpenFileDialog.cs
- Compilation.cs
- ProcessModelInfo.cs
- UseManagedPresentationBindingElementImporter.cs
- Grant.cs
- XPathDocumentBuilder.cs
- TransformedBitmap.cs
- ConnectionProviderAttribute.cs
- DiscoveryServiceExtension.cs
- DbExpressionBuilder.cs
- UriSection.cs
- TypeConverterBase.cs
- SQLConvert.cs
- StringResourceManager.cs
- NonParentingControl.cs
- WpfWebRequestHelper.cs
- WebPartCatalogAddVerb.cs
- SystemFonts.cs
- CallContext.cs
- UIntPtr.cs
- Operand.cs
- WebPartMenu.cs
- OleDbStruct.cs
- BitmapSource.cs
- FloatUtil.cs
- ItemsChangedEventArgs.cs
- ExpressionBinding.cs
- StringToken.cs
- AsyncOperation.cs
- SqlCacheDependencyDatabase.cs
- DoubleIndependentAnimationStorage.cs
- FileRecordSequenceHelper.cs
- TextRangeSerialization.cs