|
网友问这个问题,写了一个简单的例子: ![](http://www.cnblogs.com/images/cnblogs_com/lovecherry/sd903j40-asdasd.jpg) ![](http://www.cnblogs.com/images/cnblogs_com/lovecherry/df034njsd03jsf.jpg) 前台: 1 <%@ Page language="c#" Codebehind="WebForm4.aspx.cs" AutoEventWireup="false" Inherits="WebApplication25.WebForm4" %> 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 3 <HTML> 4 <HEAD> 5 <title>WebForm4</title> 6 <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"> 7 <meta name="CODE_LANGUAGE" Content="C#"> 8 <meta name="vs_defaultClientScript" content="JavaScript"> 9 <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> 10 </HEAD> 11 <body> 12 <form id="Form1" method="post" runat="server"> 13 <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" DataKeyField="EmployeeID"> 14 <Columns> 15 <asp:TemplateColumn> 16 <ItemTemplate> 17 <input type="hidden" id="SelectedID" runat="server" value='<%# Container.ItemIndex%>' name="SelectedID"/> 18 <asp:CheckBox ID="chkExport" Runat="server" /> 19 </ItemTemplate> 20 </asp:TemplateColumn> 21 <asp:BoundColumn DataField="EmployeeID" HeaderText="EmployeeID"></asp:BoundColumn> 22 <asp:TemplateColumn HeaderText="FirstName"> 23 <ItemTemplate> 24 <asp:Label ID="lab_FirstName" Runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"FirstName")%>'> 25 </asp:Label> 26 <asp:TextBox ID="txt_FirstName" Runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"FirstName")%>' Visible="False"> 27 </asp:TextBox> 28 </ItemTemplate> 29 </asp:TemplateColumn> 30 <asp:TemplateColumn HeaderText="LastName"> 31 <ItemTemplate> 32 <asp:Label ID="lab_LastName" Runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"LastName")%>'> 33 </asp:Label> 34 <asp:TextBox ID="txt_LastName" Runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"LastName")%>' Visible="False"> 35 </asp:TextBox> 36 </ItemTemplate> 37 </asp:TemplateColumn> 38 </Columns> 39 </asp:DataGrid> 40 <asp:Button id="Button1" runat="server" Text="编辑"></asp:Button> 41 <asp:Button id="Button2" runat="server" Text="更新"></asp:Button> 42 </form> 43 </body> 44 </HTML> 45![](http://aresd.cnblogs.com/Images/OutliningIndicators/None.gif) 46 后台: 47![](http://aresd.cnblogs.com/Images/OutliningIndicators/None.gif) 48 using System; 49 using System.Collections; 50 using System.ComponentModel; 51 using System.Data; 52 using System.Data.SqlClient; 53 using System.Drawing; 54 using System.Web; 55 using System.Web.SessionState; 56 using System.Web.UI; 57 using System.Web.UI.WebControls; 58 using System.Web.UI.HtmlControls; 59![](http://aresd.cnblogs.com/Images/OutliningIndicators/None.gif) 60 namespace WebApplication25 61![](http://aresd.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif) ![](http://aresd.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif) { 62![](http://aresd.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) /**//// <summary> 63 /// WebForm4 的摘要说明。 64 /// </summary> 65 public class WebForm4 : System.Web.UI.Page 66![](http://aresd.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) { 67 protected System.Web.UI.WebControls.Button Button1; 68 protected System.Web.UI.WebControls.Button Button2; 69 protected System.Web.UI.WebControls.DataGrid DataGrid1; 70 protected System.Web.UI.HtmlControls.HtmlInputHidden SelectID; 71 72 private void Page_Load(object sender, System.EventArgs e) 73![](http://aresd.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) { 74 // 在此处放置用户代码以初始化页面 75 if(!IsPostBack) 76![](http://aresd.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) { 77 SetBind(); 78 } 79 } 80![](http://aresd.cnblogs.com/Images/OutliningIndicators/InBlock.gif) 81 private void SetBind() 82![](http://aresd.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) { 83 SqlConnection conn=new SqlConnection("server=srvxglai-sha;uid=sa;pwd=321413;database=northwind"); 84 SqlDataAdapter da=new SqlDataAdapter("select * from Employees",conn); 85 DataSet ds=new DataSet(); 86 da.Fill(ds,"table1"); 87 this.DataGrid1.DataSource=ds.Tables["table1"]; 88 this.DataGrid1.DataBind(); 89 } 90![](http://aresd.cnblogs.com/Images/OutliningIndicators/InBlock.gif) 91![](http://aresd.cnblogs.com/Images/OutliningIndicators/InBlock.gif) 92![](http://aresd.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码 93 override protected void OnInit(EventArgs e) 94![](http://aresd.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) { 95 // 96 // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 97 // 98 InitializeComponent(); 99 base.OnInit(e); 100 } 101 102![](http://aresd.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) /**//// <summary> 103 /// 设计器支持所需的方法 - 不要使用代码编辑器修改 104 /// 此方法的内容。 105 /// </summary> 106 private void InitializeComponent() 107![](http://aresd.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) { 108 this.Button1.Click += new System.EventHandler(this.Button1_Click); 109 this.Button2.Click += new System.EventHandler(this.Button2_Click); 110 this.Load += new System.EventHandler(this.Page_Load); 111![](http://aresd.cnblogs.com/Images/OutliningIndicators/InBlock.gif) 112 } 113 #endregion 114![](http://aresd.cnblogs.com/Images/OutliningIndicators/InBlock.gif) 115 private void Button1_Click(object sender, System.EventArgs e) 116![](http://aresd.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) { 117 foreach(DataGridItem di in this.DataGrid1.Items) 118![](http://aresd.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) { 119 if(((CheckBox)di.FindControl("chkExport")).Checked==true) 120![](http://aresd.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) { 121 ((TextBox)di.FindControl("txt_FirstName")).Visible=true; 122 ((TextBox)di.FindControl("txt_LastName")).Visible=true; 123 ((Label)di.FindControl("lab_FirstName")).Visible=false; 124 ((Label)di.FindControl("lab_LastName")).Visible=false; 125 } 126 } 127![](http://aresd.cnblogs.com/Images/OutliningIndicators/InBlock.gif) 128 } 129![](http://aresd.cnblogs.com/Images/OutliningIndicators/InBlock.gif) 130 private void Button2_Click(object sender, System.EventArgs e) 131![](http://aresd.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) { 132 foreach(DataGridItem di in this.DataGrid1.Items) 133![](http://aresd.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) { 134 if(((CheckBox)di.FindControl("chkExport")).Checked==true) 135![](http://aresd.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) { 136 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) 137![](http://aresd.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) { 138 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>"); 139 } 140 ((TextBox)di.FindControl("txt_FirstName")).Visible=false; 141 ((TextBox)di.FindControl("txt_LastName")).Visible=false; 142 ((Label)di.FindControl("lab_FirstName")).Visible=true; 143 ((Label)di.FindControl("lab_LastName")).Visible=true; 144 ((CheckBox)di.FindControl("chkExport")).Checked=false; 145 } 146 } 147 } 148 } 149 } 150![](http://aresd.cnblogs.com/Images/OutliningIndicators/None.gif)
|