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;
///
/// Defines the template for controls layout within a
///
/// column.
///
//
[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;
///
/// Initializes a new instance of the class.
///
public TemplateColumn() {
}
///
/// Specifies the that defines how items in edit mode are rendered.
///
[
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 the control footer is 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 header 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 items are 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();
}
}
///
///
///
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
- DBCommandBuilder.cs
- RenderingBiasValidation.cs
- DesignerDataTable.cs
- PriorityQueue.cs
- Registry.cs
- SQLInt16Storage.cs
- ReturnValue.cs
- TabletDevice.cs
- Processor.cs
- ScrollPattern.cs
- SearchForVirtualItemEventArgs.cs
- DetailsViewInsertedEventArgs.cs
- BrowserDefinitionCollection.cs
- WSSecurityPolicy12.cs
- Int64Converter.cs
- TcpAppDomainProtocolHandler.cs
- RankException.cs
- SchemaCollectionCompiler.cs
- Point3DCollection.cs
- FrameworkName.cs
- ExponentialEase.cs
- UnsafePeerToPeerMethods.cs
- MembershipValidatePasswordEventArgs.cs
- GC.cs
- SqlBooleanMismatchVisitor.cs
- PeerTransportSecurityElement.cs
- EditBehavior.cs
- IdentitySection.cs
- BinHexEncoding.cs
- DataBindEngine.cs
- ServicePointManagerElement.cs
- SafeTimerHandle.cs
- HttpCapabilitiesEvaluator.cs
- ToolStripDropDownItem.cs
- WindowCollection.cs
- CoreChannel.cs
- listitem.cs
- Latin1Encoding.cs
- clipboard.cs
- Int32AnimationUsingKeyFrames.cs
- ServiceNameElement.cs
- XmlNamespaceManager.cs
- AddInBase.cs
- NamespaceList.cs
- MatrixStack.cs
- DataSysAttribute.cs
- CollectionChangedEventManager.cs
- DateTimeSerializationSection.cs
- DataGridViewIntLinkedList.cs
- ImpersonateTokenRef.cs
- TextFormatterHost.cs
- UriSectionReader.cs
- StructuralType.cs
- Currency.cs
- SiteMapProvider.cs
- PagerSettings.cs
- TypeBuilder.cs
- mactripleDES.cs
- DocumentViewerConstants.cs
- RenderDataDrawingContext.cs
- PathGradientBrush.cs
- SystemColorTracker.cs
- APCustomTypeDescriptor.cs
- ReadOnlyDataSourceView.cs
- FixUp.cs
- FilterQuery.cs
- SafeNativeMethods.cs
- AdministrationHelpers.cs
- TaskFileService.cs
- InteropAutomationProvider.cs
- ExpressionParser.cs
- DataBindingExpressionBuilder.cs
- CqlQuery.cs
- SignedPkcs7.cs
- PersonalizationStateInfoCollection.cs
- NamespaceDisplayAutomationPeer.cs
- PropertyIDSet.cs
- Accessible.cs
- WebScriptEndpoint.cs
- Registry.cs
- HScrollProperties.cs
- ConfigurationManagerHelperFactory.cs
- StrokeDescriptor.cs
- HttpClientCertificate.cs
- ScrollChangedEventArgs.cs
- WebPageTraceListener.cs
- ToolStripRenderer.cs
- WindowsButton.cs
- CacheDependency.cs
- Propagator.JoinPropagator.cs
- ValuePattern.cs
- ExceptionRoutedEventArgs.cs
- UrlRoutingHandler.cs
- DictionaryBase.cs
- ServiceObjectContainer.cs
- ManipulationVelocities.cs
- StatusBarPanel.cs
- WaitForChangedResult.cs
- BamlLocalizableResourceKey.cs
- WebPageTraceListener.cs