EditCommandColumn.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 / EditCommandColumn.cs / 1 / EditCommandColumn.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

namespace System.Web.UI.WebControls { 
 
    using System;
    using System.Collections; 
    using System.ComponentModel;
    using System.Web.UI;
    using System.Security.Permissions;
 

    ///  
    /// Creates a special column with buttons for , 
    /// , and  commands to edit items
    ///    within the selected row. 
    /// 
    [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
    [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
    public class EditCommandColumn : DataGridColumn { 

 
        ///  
        /// Initializes a new instance of an  class.
        ///  
        public EditCommandColumn() {
        }

 

        ///  
        ///    Indicates the button type for the column. 
        /// 
        [ 
        DefaultValue(ButtonColumnType.LinkButton)
        ]
        public virtual ButtonColumnType ButtonType {
            get { 
                object o = ViewState["ButtonType"];
                if (o != null) 
                    return(ButtonColumnType)o; 
                return ButtonColumnType.LinkButton;
            } 
            set {
                if (value < ButtonColumnType.LinkButton || value > ButtonColumnType.PushButton) {
                    throw new ArgumentOutOfRangeException("value");
                } 
                ViewState["ButtonType"] = value;
                OnColumnChanged(); 
            } 
        }
 

        /// 
        /// Indicates the text to display for the  command button
        ///    in the column. 
        /// 
        [ 
        Localizable(true), 
        DefaultValue("")
        ] 
        public virtual string CancelText {
            get {
                object o = ViewState["CancelText"];
                if (o != null) 
                    return(string)o;
                return String.Empty; 
            } 
            set {
                ViewState["CancelText"] = value; 
                OnColumnChanged();
            }
        }
 

        [ 
        DefaultValue(true), 
        ]
        public virtual bool CausesValidation { 
            get {
                object o = ViewState["CausesValidation"];
                if (o != null) {
                    return (bool)o; 
                }
                return true; 
            } 
            set {
                ViewState["CausesValidation"] = value; 
                OnColumnChanged();
            }
        }
 

        ///  
        /// Indicates the text to display for the  command button in 
        ///    the column.
        ///  
        [
        Localizable(true),
        DefaultValue("")
        ] 
        public virtual string EditText {
            get { 
                object o = ViewState["EditText"]; 
                if (o != null)
                    return(string)o; 
                return String.Empty;
            }
            set {
                ViewState["EditText"] = value; 
                OnColumnChanged();
            } 
        } 

 
        /// 
        /// Indicates the text to display for the  command button
        ///    in the column.
        ///  
        [
        Localizable(true), 
        DefaultValue("") 
        ]
        public virtual string UpdateText { 
            get {
                object o = ViewState["UpdateText"];
                if (o != null)
                    return(string)o; 
                return String.Empty;
            } 
            set { 
                ViewState["UpdateText"] = value;
                OnColumnChanged(); 
            }
        }

 
        [
        DefaultValue(""), 
        ] 
        public virtual string ValidationGroup {
            get { 
                object o = ViewState["ValidationGroup"];
                if (o != null) {
                    return (string)o;
                } 
                return String.Empty;
            } 
            set { 
                ViewState["ValidationGroup"] = value;
                OnColumnChanged(); 
            }
        }

        private void AddButtonToCell(TableCell cell,  string commandName, string buttonText, bool causesValidation, string validationGroup) { 
            WebControl buttonControl = null;
            ControlCollection controls = cell.Controls; 
            ButtonColumnType buttonType = ButtonType; 

            if (buttonType == ButtonColumnType.LinkButton) { 
                LinkButton button = new DataGridLinkButton();

                buttonControl = button;
                button.CommandName = commandName; 
                button.Text = buttonText;
                button.CausesValidation = causesValidation; 
                button.ValidationGroup = validationGroup; 
            }
            else { 
                Button button = new Button();

                buttonControl = button;
                button.CommandName = commandName; 
                button.Text = buttonText;
                button.CausesValidation = causesValidation; 
                button.ValidationGroup = validationGroup; 
            }
 
            controls.Add(buttonControl);
        }

 
        /// 
        ///    Initializes a cell within the column. 
        ///  
        public override void InitializeCell(TableCell cell, int columnIndex, ListItemType itemType) {
            base.InitializeCell(cell, columnIndex, itemType); 
            bool causesValidation = CausesValidation;

            if ((itemType != ListItemType.Header) &&
                (itemType != ListItemType.Footer)) { 
                if (itemType == ListItemType.EditItem) {
                    ControlCollection controls = cell.Controls; 
                    AddButtonToCell(cell, DataGrid.UpdateCommandName, UpdateText, causesValidation, ValidationGroup); 

                    LiteralControl spaceControl = new LiteralControl(" "); 
                    controls.Add(spaceControl);

                    AddButtonToCell(cell, DataGrid.CancelCommandName, CancelText, false, String.Empty);
                } 
                else {
                    AddButtonToCell(cell, DataGrid.EditCommandName, EditText, false, String.Empty); 
                } 
            }
        } 
    }
}


// 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.UI;
    using System.Security.Permissions;
 

    ///  
    /// Creates a special column with buttons for , 
    /// , and  commands to edit items
    ///    within the selected row. 
    /// 
    [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
    [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
    public class EditCommandColumn : DataGridColumn { 

 
        ///  
        /// Initializes a new instance of an  class.
        ///  
        public EditCommandColumn() {
        }

 

        ///  
        ///    Indicates the button type for the column. 
        /// 
        [ 
        DefaultValue(ButtonColumnType.LinkButton)
        ]
        public virtual ButtonColumnType ButtonType {
            get { 
                object o = ViewState["ButtonType"];
                if (o != null) 
                    return(ButtonColumnType)o; 
                return ButtonColumnType.LinkButton;
            } 
            set {
                if (value < ButtonColumnType.LinkButton || value > ButtonColumnType.PushButton) {
                    throw new ArgumentOutOfRangeException("value");
                } 
                ViewState["ButtonType"] = value;
                OnColumnChanged(); 
            } 
        }
 

        /// 
        /// Indicates the text to display for the  command button
        ///    in the column. 
        /// 
        [ 
        Localizable(true), 
        DefaultValue("")
        ] 
        public virtual string CancelText {
            get {
                object o = ViewState["CancelText"];
                if (o != null) 
                    return(string)o;
                return String.Empty; 
            } 
            set {
                ViewState["CancelText"] = value; 
                OnColumnChanged();
            }
        }
 

        [ 
        DefaultValue(true), 
        ]
        public virtual bool CausesValidation { 
            get {
                object o = ViewState["CausesValidation"];
                if (o != null) {
                    return (bool)o; 
                }
                return true; 
            } 
            set {
                ViewState["CausesValidation"] = value; 
                OnColumnChanged();
            }
        }
 

        ///  
        /// Indicates the text to display for the  command button in 
        ///    the column.
        ///  
        [
        Localizable(true),
        DefaultValue("")
        ] 
        public virtual string EditText {
            get { 
                object o = ViewState["EditText"]; 
                if (o != null)
                    return(string)o; 
                return String.Empty;
            }
            set {
                ViewState["EditText"] = value; 
                OnColumnChanged();
            } 
        } 

 
        /// 
        /// Indicates the text to display for the  command button
        ///    in the column.
        ///  
        [
        Localizable(true), 
        DefaultValue("") 
        ]
        public virtual string UpdateText { 
            get {
                object o = ViewState["UpdateText"];
                if (o != null)
                    return(string)o; 
                return String.Empty;
            } 
            set { 
                ViewState["UpdateText"] = value;
                OnColumnChanged(); 
            }
        }

 
        [
        DefaultValue(""), 
        ] 
        public virtual string ValidationGroup {
            get { 
                object o = ViewState["ValidationGroup"];
                if (o != null) {
                    return (string)o;
                } 
                return String.Empty;
            } 
            set { 
                ViewState["ValidationGroup"] = value;
                OnColumnChanged(); 
            }
        }

        private void AddButtonToCell(TableCell cell,  string commandName, string buttonText, bool causesValidation, string validationGroup) { 
            WebControl buttonControl = null;
            ControlCollection controls = cell.Controls; 
            ButtonColumnType buttonType = ButtonType; 

            if (buttonType == ButtonColumnType.LinkButton) { 
                LinkButton button = new DataGridLinkButton();

                buttonControl = button;
                button.CommandName = commandName; 
                button.Text = buttonText;
                button.CausesValidation = causesValidation; 
                button.ValidationGroup = validationGroup; 
            }
            else { 
                Button button = new Button();

                buttonControl = button;
                button.CommandName = commandName; 
                button.Text = buttonText;
                button.CausesValidation = causesValidation; 
                button.ValidationGroup = validationGroup; 
            }
 
            controls.Add(buttonControl);
        }

 
        /// 
        ///    Initializes a cell within the column. 
        ///  
        public override void InitializeCell(TableCell cell, int columnIndex, ListItemType itemType) {
            base.InitializeCell(cell, columnIndex, itemType); 
            bool causesValidation = CausesValidation;

            if ((itemType != ListItemType.Header) &&
                (itemType != ListItemType.Footer)) { 
                if (itemType == ListItemType.EditItem) {
                    ControlCollection controls = cell.Controls; 
                    AddButtonToCell(cell, DataGrid.UpdateCommandName, UpdateText, causesValidation, ValidationGroup); 

                    LiteralControl spaceControl = new LiteralControl(" "); 
                    controls.Add(spaceControl);

                    AddButtonToCell(cell, DataGrid.CancelCommandName, CancelText, false, String.Empty);
                } 
                else {
                    AddButtonToCell(cell, DataGrid.EditCommandName, EditText, false, String.Empty); 
                } 
            }
        } 
    }
}


// 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