一次性编辑GridView控件中的所有行
来源:互联网 发布:中国网络教育平台 编辑:程序博客网 时间:2024/04/29 23:25
源文件中添加代码:
<Columns>
<asp:BoundField DataField="ID" HeaderText="编号" />
<asp:TemplateField HeaderText="教师姓名">
<ItemTemplate>
<asp:TextBox Runat="server" Text='<%# Bind("name") %>' ID="txtName" Height="22px" Width="90px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="教师性别">
<ItemTemplate>
<asp:TextBox Runat="server" Text='<%# Bind("sex") %>' ID="txtSex" Height="22px" Width="54px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="年龄">
<ItemTemplate>
<asp:TextBox runat="server" Text='<%# Bind("age") %>' ID="txtAge"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="家庭地址">
<ItemTemplate>
<asp:TextBox runat="server" Text='<%# Bind("address") %>' ID="txtAddress"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
编写代码:
using System.Data.SqlClient;
using System.Text;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Bind();
}
}
//自定义方法,用于检索数据表中的所有数据,并绑定到GridView控件中
public void Bind()
{
string strCon = @"server=TRIMPS-WZF-PC\SQL2005; database=db_09; uid=sa; pwd= ";
string sqlStr = "select * from tb_user";
SqlConnection conn = new SqlConnection(strCon);
SqlDataAdapter myda = new SqlDataAdapter(sqlStr, conn);
DataSet myds = new DataSet();
conn.Open(); //打开数据库连接
myda.Fill(myds,"tb_user");
GridView1.DataSource = myds;
GridView1.DataBind();
conn.Close(); //关闭数据库连接
}
//修改当前分页中的所有行的数据。
//思路是遍历 GridView 控件中的所有行获取每行中文本框中的内容,然后批量修改数据表中相应的数据
protected void Button1_Click(object sender, EventArgs e)
{
StringBuilder query = new StringBuilder(); //创建StringBuilder对象
string strCon = @"server=TRIMPS-WZF-PC\SQL2005; database=db_09; uid=sa; pwd= ";
SqlConnection conn = new SqlConnection(strCon);
for (int i = 0; i < GridView1.Rows.Count; i++) //遍历所有行
{
GridViewRow row = GridView1.Rows[i]; //实例化GridViewRow对象
//获取每行中文本框的值
string value1 = ((TextBox)row.Cells[1].FindControl("txtName")).Text.Replace("'", "''"); //关系到源文件中的代码,要仔细研究
string value2 = ((TextBox)row.Cells[2].FindControl("txtSex")).Text.Replace("'", "''");
string value3 = ((TextBox)row.Cells[3].FindControl("txtAge")).Text.Replace("'", "''");
string value4 = ((TextBox)row.Cells[4].FindControl("txtAddress")).Text.Replace("'", "''");
string value = GridView1.DataKeys[i].Value.ToString(); //获取关键字段的值
//自定义update语句并添加到StringBuilder对象中
query.Append("update [tb_user] set [name]= '")
.Append(value1).Append("',[sex]='")
.Append(value2).Append("',[age]='")
.Append(value3).Append("',[address]='")
.Append(value4).Append("'where [ID]='")
.Append(value).Append("';\n");
}
conn.Open();
SqlCommand comm = new SqlCommand(query.ToString(), conn);
if ((Convert.ToInt32(comm.ExecuteNonQuery() )> 0))
{
Response.Write("<script>alert('一次修改数据成功!')</script>");
}
else
{
Response.Write("<script>alert('一次修改数据失败!')</script>");
}
conn.Close();
Bind();
}
界面图:
- 一次性编辑GridView控件中的所有行
- 一次性编辑GRIDVIEW中所有数据然后批量修改
- GridView 一次编辑所有行?
- 一次编辑GridView中的所有数据
- 一次编辑 GridView 的所有行
- 一次编辑 GridView 的所有行
- 一次编辑 GridView 的所有行
- 一次编辑 GridView 的所有行
- 一次编辑 GridView 的所有行
- 一次编辑 GridView 的所有行
- 一次编辑 GridView 的所有行
- 一次编辑 GridView 的所有行
- 一次编辑 GridView 的所有行
- GridView行编辑中找DropDownList控件
- GridView鼠标移动到某一行时行发生变色和为Gridview中编辑模板中的控件添加颜色
- 对绑定到 GridView Web 服务器控件的行执行批量更新(同时编辑所有行)
- 如何一次性遍历Map中的所有对象
- asp.net 2.0中一次性更新所有GRIDVIEW的记录
- JS对象JS Array(一)
- Android的ADT自带的与Java EE版的Eclipse对比
- 如何判断当前iOS设备
- Commons_Lang_StringUtils学习笔记
- 阿里云筹划明年进入海外市场
- 一次性编辑GridView控件中的所有行
- 我打算好好整理一下我在2013年遇到的种种困惑,打好基础,为明年做准备
- 26个Jquery使用小技巧
- 使用大数据,别忘了linux内存管理
- PLSQL出现的问题
- (转)程序员的十层楼:大家都来测测你的技术层级(转)
- 二分+LA3635
- vlc-2.1.0的第三方库contrib的修改之ffmpeg的库的修改
- org.w3c.dom 对XML 文件的操作