3 // Permission is hereby granted, free of charge, to any person obtaining
4 // a copy of this software and associated documentation files (the
5 // "Software"), to deal in the Software without restriction, including
6 // without limitation the rights to use, copy, modify, merge, publish,
7 // distribute, sublicense, and/or sell copies of the Software, and to
8 // permit persons to whom the Software is furnished to do so, subject to
9 // the following conditions:
11 // The above copyright notice and this permission notice shall be
12 // included in all copies or substantial portions of the Software.
14 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 * Namespace: System.Web.UI.WebControls
24 * Class: EditCommandColumn
26 * Author: Gaurav Vaish
27 * Maintainer: gvaish@iitk.ac.in
28 * Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>
32 * (C) Gaurav Vaish (2002)
39 namespace System
.Web
.UI
.WebControls
41 public class EditCommandColumn
: DataGridColumn
43 public EditCommandColumn(): base()
47 public virtual ButtonColumnType ButtonType
51 object o
= ViewState
["ButtonType"];
54 return (ButtonColumnType
)o
;
56 return ButtonColumnType
.LinkButton
;
60 if(!Enum
.IsDefined(typeof(ButtonColumnType
), value))
62 throw new ArgumentException();
64 ViewState
["ButtonType"] = value;
69 public virtual string CancelText
73 object o
= ViewState
["CancelText"];
82 ViewState
["CancelText"] = value;
87 public virtual string EditText
91 object o
= ViewState
["EditText"];
100 ViewState
["EditText"] = value;
105 public virtual string UpdateText
109 object o
= ViewState
["UpdateText"];
118 ViewState
["UpdateText"] = value;
123 public override void InitializeCell(TableCell cell
, int columnIndex
, ListItemType itemType
)
125 base.InitializeCell(cell
, columnIndex
, itemType
);
127 if (itemType
== ListItemType
.Header
|| itemType
== ListItemType
.Footer
)
130 if (itemType
== ListItemType
.EditItem
) {
131 cell
.Controls
.Add (MakeButton ("Update", UpdateText
));
132 cell
.Controls
.Add (new LiteralControl (" "));
133 cell
.Controls
.Add (MakeButton ("Cancel", CancelText
));
135 cell
.Controls
.Add (MakeButton ("Edit", EditText
));
139 Control
MakeButton (string commandName
, string text
)
141 if (ButtonType
== ButtonColumnType
.LinkButton
) {
142 DataGridLinkButton ret
= new DataGridLinkButton ();
143 ret
.CommandName
= commandName
;
147 Button ret
= new Button ();
148 ret
.CommandName
= commandName
;