protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string teaid = Convert.ToString(this.GridView1.DataKeys[e.RowIndex].Value);
string teaname = (this.GridView1.Rows[e.RowIndex].Cells[1].Controls[0] as TextBox).Text;
string teaage = (this.GridView1.Rows[e.RowIndex].Cells[3].Controls[0] as TextBox).Text; using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=;database=login1"))
{
con.Open();
string str = "update teacher set teaname='"+teaname+"',teaage='"+teaage+"' where teaid='"+teaid+"'";
SqlCommand cmd = new SqlCommand(str, con);
cmd.ExecuteNonQuery();
}
this.GridView1.EditIndex = -1;
this.bindGridView();
}以上是,cs
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" DataKeyNames="teaid" OnRowCancelingEdit="GridView1_RowCancelingEdit" >
<Columns>
<asp:BoundField DataField="teaid" HeaderText="编号" ReadOnly="true" />
<asp:BoundField DataField="teaname" HeaderText="姓名" />
<asp:BoundField DataField="teasex" HeaderText="性别" />
<asp:BoundField DataField="teaage" HeaderText="年龄" />
<asp:BoundField DataField="teaspe" HeaderText="专业" />
<asp:BoundField DataField="teaaddress" HeaderText="地址" />
<asp:CommandField ShowEditButton="True" />
</Columns>
</asp:GridView>html
{
string teaid = Convert.ToString(this.GridView1.DataKeys[e.RowIndex].Value);
string teaname = (this.GridView1.Rows[e.RowIndex].Cells[1].Controls[0] as TextBox).Text;
string teaage = (this.GridView1.Rows[e.RowIndex].Cells[3].Controls[0] as TextBox).Text; using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=;database=login1"))
{
con.Open();
string str = "update teacher set teaname='"+teaname+"',teaage='"+teaage+"' where teaid='"+teaid+"'";
SqlCommand cmd = new SqlCommand(str, con);
cmd.ExecuteNonQuery();
}
this.GridView1.EditIndex = -1;
this.bindGridView();
}以上是,cs
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" DataKeyNames="teaid" OnRowCancelingEdit="GridView1_RowCancelingEdit" >
<Columns>
<asp:BoundField DataField="teaid" HeaderText="编号" ReadOnly="true" />
<asp:BoundField DataField="teaname" HeaderText="姓名" />
<asp:BoundField DataField="teasex" HeaderText="性别" />
<asp:BoundField DataField="teaage" HeaderText="年龄" />
<asp:BoundField DataField="teaspe" HeaderText="专业" />
<asp:BoundField DataField="teaaddress" HeaderText="地址" />
<asp:CommandField ShowEditButton="True" />
</Columns>
</asp:GridView>html
{
string teaid = Convert.ToString(this.GridView1.DataKeys[e.RowIndex].Value);
string teaname = (this.GridView1.Rows[e.RowIndex].Cells[1].Controls[0] as TextBox).Text;
string teaage = (this.GridView1.Rows[e.RowIndex].Cells[3].Controls[0] as TextBox).Text; using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=;database=login1"))
{
con.Open();
string str = "update teacher set teaname='"+teaname+"',teaage='"+teaage+"' where teaid='"+teaid+"'";
SqlCommand cmd = new SqlCommand(str, con);
cmd.ExecuteNonQuery();
}
this.GridView1.EditIndex = -1;
this.bindGridView();
}以上是,cs
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" DataKeyNames="teaid" OnRowCancelingEdit="GridView1_RowCancelingEdit" >
<Columns>
<asp:BoundField DataField="teaid" HeaderText="编号" ReadOnly="true" />
<asp:BoundField DataField="teaname" HeaderText="姓名" />
<asp:BoundField DataField="teasex" HeaderText="性别" />
<asp:BoundField DataField="teaage" HeaderText="年龄" />
<asp:BoundField DataField="teaspe" HeaderText="专业" />
<asp:BoundField DataField="teaaddress" HeaderText="地址" />
<asp:CommandField ShowEditButton="True" />
</Columns>
</asp:GridView>html
朋友,不过我在做的时候,不是这样做,而是直接在datagrid中把要编辑的项直接用文本框显示。也就是说,在datagrid中在相应的列添加文本框,并在每行添加一个checkbox,这样,通过它选中后,再用代码中的findcontrol()方法,去判断是那个被选中,这样就能保存或更新那个值了。