2 * Namespace: System.Web.UI.WebControls
\r
3 * Class: EditCommandColumn
\r
5 * Author: Gaurav Vaish
\r
6 * Maintainer: gvaish@iitk.ac.in
\r
7 * Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>
\r
8 * Implementation: yes
\r
11 * (C) Gaurav Vaish (2002)
\r
16 using System.Web.UI;
\r
18 namespace System.Web.UI.WebControls
\r
20 public class EditCommandColumn : DataGridColumn
\r
22 public EditCommandColumn(): base()
\r
26 public virtual ButtonColumnType ButtonType
\r
30 object o = ViewState["ButtonType"];
\r
33 return (ButtonColumnType)o;
\r
35 return ButtonColumnType.LinkButton;
\r
39 if(!Enum.IsDefined(typeof(ButtonColumnType), value))
\r
41 throw new ArgumentException();
\r
43 ViewState["ButtonType"] = value;
\r
48 public virtual string CancelText
\r
52 object o = ViewState["CancelText"];
\r
57 return String.Empty;
\r
61 ViewState["CancelText"] = value;
\r
66 public virtual string EditText
\r
70 object o = ViewState["EditText"];
\r
75 return String.Empty;
\r
79 ViewState["EditText"] = value;
\r
84 public virtual string UpdateText
\r
88 object o = ViewState["UpdateText"];
\r
93 return String.Empty;
\r
97 ViewState["UpdateText"] = value;
\r
102 public override void InitializeCell(TableCell cell, int columnIndex, ListItemType itemType)
\r
104 base.InitializeCell(cell, columnIndex, itemType);
\r
106 if (itemType == ListItemType.Header || itemType == ListItemType.Footer)
109 if (itemType == ListItemType.EditItem) {
110 cell.Controls.Add (MakeButton ("Update", UpdateText));
111 cell.Controls.Add (new LiteralControl (" "));
112 cell.Controls.Add (MakeButton ("Cancel", CancelText));
114 cell.Controls.Add (MakeButton ("Edit", EditText));
118 Control MakeButton (string commandName, string text)
120 if (ButtonType == ButtonColumnType.LinkButton) {
121 DataGridLinkButton ret = new DataGridLinkButton ();
122 ret.CommandName = commandName;
126 Button ret = new Button ();
127 ret.CommandName = commandName;