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;
///
/// 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
- GestureRecognitionResult.cs
- StrokeNodeOperations2.cs
- IdentityManager.cs
- MsmqReceiveHelper.cs
- IteratorFilter.cs
- compensatingcollection.cs
- SimpleHandlerBuildProvider.cs
- TrackPoint.cs
- XXXInfos.cs
- AVElementHelper.cs
- Geometry.cs
- CompressEmulationStream.cs
- X509ChainPolicy.cs
- UInt16Storage.cs
- StringPropertyBuilder.cs
- StyleCollection.cs
- TextParagraphProperties.cs
- ConstraintCollection.cs
- Delegate.cs
- RoutedEventHandlerInfo.cs
- DNS.cs
- SessionMode.cs
- GifBitmapEncoder.cs
- RightsManagementPermission.cs
- PropertyValueChangedEvent.cs
- TextRangeProviderWrapper.cs
- EventArgs.cs
- MaskInputRejectedEventArgs.cs
- Main.cs
- RadioButton.cs
- DBConnection.cs
- MemoryPressure.cs
- ProviderSettingsCollection.cs
- SystemIPAddressInformation.cs
- StateDesigner.TransitionInfo.cs
- Translator.cs
- CommonObjectSecurity.cs
- GestureRecognizer.cs
- ClientSettingsProvider.cs
- UserControlBuildProvider.cs
- SchemaContext.cs
- ObjectDataSourceView.cs
- CodeStatementCollection.cs
- BitmapImage.cs
- GridViewRowEventArgs.cs
- HttpResponse.cs
- Schema.cs
- Label.cs
- CategoryGridEntry.cs
- XmlDesigner.cs
- DataKey.cs
- SQLRoleProvider.cs
- SqlDataSourceView.cs
- WebScriptServiceHostFactory.cs
- CaretElement.cs
- RecordBuilder.cs
- FamilyTypefaceCollection.cs
- GenericPrincipal.cs
- WmlTextViewAdapter.cs
- MemoryRecordBuffer.cs
- MenuItemCollection.cs
- MailDefinition.cs
- BeginStoryboard.cs
- Transform3D.cs
- CalendarDay.cs
- WindowsScrollBarBits.cs
- EdmConstants.cs
- XamlParser.cs
- WindowsFormsSectionHandler.cs
- CqlLexerHelpers.cs
- CacheVirtualItemsEvent.cs
- CustomDictionarySources.cs
- SoapObjectWriter.cs
- TableItemProviderWrapper.cs
- ImageDrawing.cs
- FilteredReadOnlyMetadataCollection.cs
- UnsafeNativeMethods.cs
- SqlGatherConsumedAliases.cs
- GlyphInfoList.cs
- VectorConverter.cs
- ServiceBehaviorElement.cs
- PersonalizationAdministration.cs
- Size3D.cs
- ConsoleTraceListener.cs
- XmlResolver.cs
- objectresult_tresulttype.cs
- PopupEventArgs.cs
- WebPartHelpVerb.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- BitmapPalette.cs
- TextBoxAutoCompleteSourceConverter.cs
- recordstatescratchpad.cs
- RefType.cs
- Assembly.cs
- CodeIndexerExpression.cs
- RegexWriter.cs
- SQLDouble.cs
- DataShape.cs
- versioninfo.cs
- TreeViewHitTestInfo.cs