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
- XPathSelectionIterator.cs
- SqlConnectionStringBuilder.cs
- WeakReference.cs
- FocusManager.cs
- SafeNativeMethods.cs
- SplitterDesigner.cs
- TypePresenter.xaml.cs
- SqlBooleanizer.cs
- ReliableOutputConnection.cs
- AssociationTypeEmitter.cs
- EditingMode.cs
- SizeAnimationBase.cs
- OleDbCommand.cs
- HandlerWithFactory.cs
- MessageDecoder.cs
- ItemCollection.cs
- HMACRIPEMD160.cs
- DefaultTraceListener.cs
- TypeResolvingOptions.cs
- AliasGenerator.cs
- QilTypeChecker.cs
- LinqTreeNodeEvaluator.cs
- ObjectContext.cs
- DefaultBinder.cs
- PrincipalPermission.cs
- Ticks.cs
- Exception.cs
- ItemList.cs
- SqlRowUpdatedEvent.cs
- RelativeSource.cs
- MatrixValueSerializer.cs
- regiisutil.cs
- FontEmbeddingManager.cs
- embossbitmapeffect.cs
- StrokeRenderer.cs
- TreeViewDataItemAutomationPeer.cs
- BufferedGraphics.cs
- QuaternionAnimation.cs
- OrCondition.cs
- xsdvalidator.cs
- PassportAuthenticationModule.cs
- ChangeConflicts.cs
- ProfileProvider.cs
- JpegBitmapDecoder.cs
- X509CertificateChain.cs
- ValidationError.cs
- WebBrowserContainer.cs
- LambdaExpression.cs
- InstallerTypeAttribute.cs
- WindowPatternIdentifiers.cs
- RadioButton.cs
- ChannelServices.cs
- ResourceManagerWrapper.cs
- Exceptions.cs
- DocumentViewerConstants.cs
- KeysConverter.cs
- FileClassifier.cs
- FacetChecker.cs
- ResourceDisplayNameAttribute.cs
- HatchBrush.cs
- EpmSourceTree.cs
- SourceChangedEventArgs.cs
- ConfigUtil.cs
- XmlHierarchicalDataSourceView.cs
- ModuleBuilder.cs
- CharacterHit.cs
- PersonalizationStateQuery.cs
- StyleCollectionEditor.cs
- PropertyKey.cs
- ProcessProtocolHandler.cs
- TextBoxAutoCompleteSourceConverter.cs
- TraceSwitch.cs
- Underline.cs
- PointIndependentAnimationStorage.cs
- ComNativeDescriptor.cs
- ElementHost.cs
- ContentType.cs
- MatrixValueSerializer.cs
- CurrentChangingEventArgs.cs
- Activator.cs
- UpWmlPageAdapter.cs
- XslAst.cs
- ViewManager.cs
- CodeNamespaceImport.cs
- ContextMenuService.cs
- RijndaelManaged.cs
- SchemaTypeEmitter.cs
- ZipFileInfo.cs
- SingleAnimation.cs
- StopStoryboard.cs
- RequestCacheValidator.cs
- InvokeMemberBinder.cs
- BindingListCollectionView.cs
- AssemblyNameProxy.cs
- FindCriteriaElement.cs
- RawStylusInput.cs
- SchemaEntity.cs
- DeobfuscatingStream.cs
- PropertiesTab.cs
- Int32.cs