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
- FormatSettings.cs
- DataSvcMapFile.cs
- LineInfo.cs
- MessageQueueInstaller.cs
- ResolveMatchesApril2005.cs
- StringSorter.cs
- SchemaSetCompiler.cs
- AuthorizationPolicyTypeElementCollection.cs
- ValidatorAttribute.cs
- UdpAnnouncementEndpoint.cs
- _ListenerRequestStream.cs
- StatusBar.cs
- Vector3DCollectionConverter.cs
- AdapterSwitches.cs
- TextBox.cs
- DataGridItem.cs
- precedingsibling.cs
- BinHexEncoder.cs
- BitmapDecoder.cs
- CellRelation.cs
- loginstatus.cs
- AnnotationComponentChooser.cs
- Inflater.cs
- ScrollBarAutomationPeer.cs
- TextModifier.cs
- Odbc32.cs
- HuffModule.cs
- Context.cs
- HttpHandlerAction.cs
- DispatchChannelSink.cs
- DbCommandTree.cs
- WebPartMenuStyle.cs
- SymmetricKeyWrap.cs
- RepeatBehavior.cs
- FormViewRow.cs
- CodeNamespace.cs
- CodeSnippetExpression.cs
- FileDialog.cs
- Polygon.cs
- AlphabeticalEnumConverter.cs
- ScrollChrome.cs
- ColumnCollection.cs
- WebPartChrome.cs
- PackagePartCollection.cs
- PolicyChain.cs
- MailMessageEventArgs.cs
- AnnotationStore.cs
- TextTreeFixupNode.cs
- RepeaterItemCollection.cs
- VisualBrush.cs
- ProcessModuleCollection.cs
- GridItemProviderWrapper.cs
- While.cs
- RenderingBiasValidation.cs
- HostProtectionPermission.cs
- NaturalLanguageHyphenator.cs
- BindingsCollection.cs
- TableLayoutPanelCellPosition.cs
- TraceSwitch.cs
- infer.cs
- BitmapEffect.cs
- DecoratedNameAttribute.cs
- ServiceModelConfigurationSectionGroup.cs
- SerializationSectionGroup.cs
- TypeInitializationException.cs
- NameValueConfigurationCollection.cs
- HwndSource.cs
- Request.cs
- TableNameAttribute.cs
- Calendar.cs
- BaseCollection.cs
- CodeParameterDeclarationExpressionCollection.cs
- ExecutionEngineException.cs
- _AcceptOverlappedAsyncResult.cs
- SkewTransform.cs
- OrderedDictionaryStateHelper.cs
- MemberDescriptor.cs
- FontUnit.cs
- EntitySqlQueryCacheKey.cs
- ToolStripItemDesigner.cs
- DPTypeDescriptorContext.cs
- RadioButtonRenderer.cs
- HttpsChannelFactory.cs
- EnumType.cs
- RightsManagementInformation.cs
- BufferBuilder.cs
- PageThemeBuildProvider.cs
- AccessedThroughPropertyAttribute.cs
- DataPointer.cs
- XmlLanguage.cs
- SizeAnimationBase.cs
- ResourceAttributes.cs
- XmlLanguage.cs
- UrlMappingsModule.cs
- ReferencedAssembly.cs
- DBPropSet.cs
- GlobalProxySelection.cs
- LinearQuaternionKeyFrame.cs
- CodeFieldReferenceExpression.cs
- SQLMoney.cs