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
- lengthconverter.cs
- MulticastDelegate.cs
- RichTextBox.cs
- FrameworkContentElementAutomationPeer.cs
- JoinGraph.cs
- StrokeSerializer.cs
- BinaryCommonClasses.cs
- HttpClientCertificate.cs
- SmtpTransport.cs
- GeometryHitTestParameters.cs
- TextTreeInsertUndoUnit.cs
- SizeChangedInfo.cs
- XmlSchemaAny.cs
- DataTemplateKey.cs
- LinkLabel.cs
- ACL.cs
- shaperfactory.cs
- EventLogEntryCollection.cs
- SharedStream.cs
- XmlComment.cs
- NamespaceQuery.cs
- TextRunTypographyProperties.cs
- InternalRelationshipCollection.cs
- HttpHandlerAction.cs
- RecipientServiceModelSecurityTokenRequirement.cs
- BaseServiceProvider.cs
- TrailingSpaceComparer.cs
- HttpServerUtilityBase.cs
- HelpInfo.cs
- TemplateBuilder.cs
- SamlAuthenticationStatement.cs
- HwndSubclass.cs
- Size.cs
- SqlNotificationRequest.cs
- CollaborationHelperFunctions.cs
- References.cs
- ObjectCacheSettings.cs
- MarkupCompiler.cs
- SapiAttributeParser.cs
- ControlCollection.cs
- Solver.cs
- ServiceNameCollection.cs
- DeclaredTypeValidatorAttribute.cs
- EmptyElement.cs
- LocalTransaction.cs
- OperationDescription.cs
- FontConverter.cs
- Attributes.cs
- DrawingAttributeSerializer.cs
- CompatibleComparer.cs
- MissingManifestResourceException.cs
- IgnorePropertiesAttribute.cs
- HttpValueCollection.cs
- ProfilePropertyMetadata.cs
- ActivityDelegate.cs
- ProfilePropertyMetadata.cs
- JsonDataContract.cs
- ToolStripPanelSelectionBehavior.cs
- EditorZoneBase.cs
- MD5CryptoServiceProvider.cs
- ServicePointManagerElement.cs
- Line.cs
- NamespaceListProperty.cs
- TableItemPattern.cs
- EmbeddedMailObjectsCollection.cs
- TraceRecords.cs
- PointCollectionValueSerializer.cs
- TransactionProtocolConverter.cs
- MsiStyleLogWriter.cs
- TextEditorTables.cs
- ExpressionPrefixAttribute.cs
- SimpleBitVector32.cs
- LocatorBase.cs
- wgx_sdk_version.cs
- PropertyDescriptor.cs
- NullableFloatMinMaxAggregationOperator.cs
- XmlSchemaSimpleTypeRestriction.cs
- If.cs
- CrossContextChannel.cs
- SafeCryptoKeyHandle.cs
- x509utils.cs
- CodeIterationStatement.cs
- BaseCodeDomTreeGenerator.cs
- Win32SafeHandles.cs
- WebControlsSection.cs
- TextMarkerSource.cs
- HttpContext.cs
- WindowsComboBox.cs
- RuleRefElement.cs
- TTSEngineProxy.cs
- AccessibilityHelperForVista.cs
- RectangleConverter.cs
- InputLangChangeEvent.cs
- LinqTreeNodeEvaluator.cs
- ContextMenuService.cs
- SQLBytes.cs
- RecognizerBase.cs
- ISCIIEncoding.cs
- SecurityManager.cs
- SelectionPatternIdentifiers.cs