First, page
<% @ Page language = "c #" codebehind = "Webform1.aspx.cs" autoeventwireup = "false" inherits = "Welshem.Webform1"%>
Headertext = "Status" /> itemtemplate> edititemtemplate> ask: templateColumn> itemStyle> asp: EditCommandColumn> columns> asp: datagrid> td> tr> table > Form> body> html> two, code
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls Using system.web.ui.htmlcontrols; Namespace Welshem {/// /// WebForm1 summary. /// summary> public class WebForm1:! System.Web.UI.Page {protected System.Web.UI.WebControls.DataGrid DataGrid1; private void Page_Load (object sender, System.EventArgs e) {if (this.IsPostBack ) {This.bind ();}} / * For direct trial, there is no database. Using data that is dynamically generated and maintained with ViewState is changed from the database from the database through ADO.NET to obtain * / private data getData () {if (! This.ispostback) {dataable dt = new dataable (); DT .Columns.add ("Affairid", TypeOf (String)); DT.Columns.Add ("AffairContent", TypeOf (String)); DT.COLUMNS.ADD ("Affairstate", TypeOf (String)); for (int i = 1; i <10; i ) {dt.rows.add (new object [] {"000" i.tostring (), "to be filled", "Prepare"});} this.viewstate [" DT "] = dt;} return (DATATABLE) THISTATE [" DT "];} private void bind () {dataable dt = this.getdata (); dt.defaultview.sort = dt.columns [0] .columnname This.dataGrid1.datasource = dt.defaultview; this.dataGrid1.database ();} #Region Web Form Designer Generated Code Override Protected Void OnInit (Eventargs E) {// // Codegen: This call is ASP. The NET Web Form Designer is required. // InitializeComponent (); base.onit (e);} /// /// Designer Supports the required method - Do not use the code editor to modify the // / this method.
/// summary> private void InitializeComponent () {this.DataGrid1.CancelCommand = new System.Web.UI.WebControls.DataGridCommandEventHandler (this.DataGrid1_CancelCommand); this.DataGrid1.EditCommand = new System.Web.UI. WebControls.DataGridCommandEventHandler (this.DataGrid1_EditCommand); this.DataGrid1.UpdateCommand = new System.Web.UI.WebControls.DataGridCommandEventHandler (this.DataGrid1_UpdateCommand); this.DataGrid1.ItemDataBound = new System.Web.UI.WebControls.DataGridItemEventHandler ( this.DataGrid1_ItemDataBound); this.Load = new System.EventHandler (this.Page_Load);} #endregion private void DataGrid1_CancelCommand (object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) {this.DataGrid1.EditItemIndex = -1 ; this.Bind ();} private void DataGrid1_EditCommand (object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) {this.DataGrid1.EditItemIndex = e.Item.ItemIndex; this.Bind (); / * Controls the column wide of the second column editing item Since the E.Iitem also points to the original position, the E.Item * / ((TextBox) this.DataGrid1.Items [E.ITEM .Itemindex] .cells [1] .controls [0]). Width = 80;} private void DataGrid1_updateCommand (Object Source, System.Web.ui.WebControls.DataGridCommandEventArgs E) {/ * Read Reading Column, can directly from the corresponding unit Pick up the text format: E.Item.cells [i] .text i is the list * / string AID = E.Item.cells [0] .text; / * Generally binding column, presented the text box, so you want Value format from the control: (TextBox) E.cells [i] .controls [0]). Text i is a list * / string acontent = ((TextBox) E.Item.cells [1] .controls [0]). TEXT; / * Template column has a medium template, three types of editing: