前台:
<%@ Page language="c#" Codebehind="WebForm4.aspx.cs" AutoEventWireup="false" Inherits="WebApplication25.WebForm4" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>WebForm4</title> <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body> <form id="Form1" method="post" runat="server"> <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" DataKeyField="EmployeeID"> <Columns> <asp:TemplateColumn> <ItemTemplate> <input type="hidden" id="SelectedID" runat="server" value='<%# Container.ItemIndex%>' name="SelectedID"/> <asp:CheckBox ID="chkExport" Runat="server" /> </ItemTemplate> </asp:TemplateColumn> <asp:BoundColumn DataField="EmployeeID" HeaderText="EmployeeID"></asp:BoundColumn> <asp:TemplateColumn HeaderText="FirstName"> <ItemTemplate> <asp:Label ID="lab_FirstName" Runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"FirstName")%>'> </asp:Label> <asp:TextBox ID="txt_FirstName" Runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"FirstName")%>' Visible="False"> </asp:TextBox> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="LastName"> <ItemTemplate> <asp:Label ID="lab_LastName" Runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"LastName")%>'> </asp:Label> <asp:TextBox ID="txt_LastName" Runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"LastName")%>' Visible="False"> </asp:TextBox> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> <asp:Button id="Button1" runat="server" Text="编辑"></asp:Button> <asp:Button id="Button2" runat="server" Text="更新"></asp:Button> </form> </body> </HTML> |
后台:
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Data.SqlClient; 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 WebApplication25 { /// <summary> /// WebForm4 的摘要说明。 /// </summary> public class WebForm4 : System.Web.UI.Page { protected System.Web.UI.WebControls.Button Button1; protected System.Web.UI.WebControls.Button Button2; protected System.Web.UI.WebControls.DataGrid DataGrid1; protected System.Web.UI.HtmlControls.HtmlInputHidden SelectID; private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 if(!IsPostBack) { SetBind(); } } private void SetBind() { SqlConnection conn=new SqlConnection("server=.;uid=sa;pwd=;database=northwind"); SqlDataAdapter da=new SqlDataAdapter("select * from Employees",conn); DataSet ds=new DataSet(); da.Fill(ds,"table1"); this.DataGrid1.DataSource=ds.Tables["table1"]; this.DataGrid1.DataBind(); } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Button1.Click += new System.EventHandler(this.Button1_Click); this.Button2.Click += new System.EventHandler(this.Button2_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void Button1_Click(object sender, System.EventArgs e) { foreach(DataGridItem di in this.DataGrid1.Items) { if(((CheckBox)di.FindControl("chkExport")).Checked==true) { ((TextBox)di.FindControl("txt_FirstName")).Visible=true; ((TextBox)di.FindControl("txt_LastName")).Visible=true; ((Label)di.FindControl("lab_FirstName")).Visible=false; ((Label)di.FindControl("lab_LastName")).Visible=false; } } } private void Button2_Click(object sender, System.EventArgs e) { foreach(DataGridItem di in this.DataGrid1.Items) { if(((CheckBox)di.FindControl("chkExport")).Checked==true) { if(((TextBox)di.FindControl("txt_FirstName")).Text!=((Label)di.FindControl("lab_FirstName")).Text||((TextBox)di.FindControl("txt_LastName")).Text!=((Label)di.FindControl("lab_LastName")).Text) { Response.Write("记录号:"+this.DataGrid1.DataKeys[int.Parse(((HtmlInputHidden)di.FindControl("SelectedID")).Value)]+",FirstName:"+((TextBox)di.FindControl("txt_FirstName")).Text+",LastName:"+((TextBox)di.FindControl("txt_LastName")).Text+"<br>"); } ((TextBox)di.FindControl("txt_FirstName")).Visible=false; ((TextBox)di.FindControl("txt_LastName")).Visible=false; ((Label)di.FindControl("lab_FirstName")).Visible=true; ((Label)di.FindControl("lab_LastName")).Visible=true; ((CheckBox)di.FindControl("chkExport")).Checked=false; } } } } } |