TemplateColumn.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / 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 = " ";
                }
            }
        } 
    }
} 
 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------ 
// 
//     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 = " ";
                }
            }
        } 
    }
} 
 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK