zoukankan
html css js c++ java
Asp.net 中的 DataGrid 和 GridView 批量更新
1.DataGrid 批量更新
在html的form中设置如下的DataGrid
<
asp:DataGrid
id
="DataGrid1"
style
="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 32px"
runat
="server"
Width
="912px"
Height
="136px"
AutoGenerateColumns
="False"
>
<
Columns
>
<
asp:TemplateColumn
HeaderText
="ID"
>
<
ItemTemplate
>
<
asp:Label
id
=Label1
runat
="server"
Text
='<%#
DataBinder.Eval(Container, "DataItem.id") %
>
'>
</
asp:Label
>
</
ItemTemplate
>
</
asp:TemplateColumn
>
<
asp:TemplateColumn
HeaderText
="用户名"
>
<
ItemTemplate
>
<
asp:TextBox
id
=TextBox1
runat
="server"
Text
='<%#
DataBinder.Eval(Container, "DataItem.uname") %
>
'>
</
asp:TextBox
>
</
ItemTemplate
>
</
asp:TemplateColumn
>
<
asp:TemplateColumn
HeaderText
="性别"
>
<
ItemTemplate
>
<
asp:TextBox
runat
="server"
Text
='<%#
DataBinder.Eval(Container, "DataItem.sex") %
>
' ID="Textbox2">
</
asp:TextBox
>
</
ItemTemplate
>
</
asp:TemplateColumn
>
<
asp:TemplateColumn
HeaderText
="年龄"
>
<
ItemTemplate
>
<
asp:TextBox
runat
="server"
Text
='<%#
DataBinder.Eval(Container, "DataItem.age") %
>
' ID="Textbox3">
</
asp:TextBox
>
</
ItemTemplate
>
</
asp:TemplateColumn
>
<
asp:TemplateColumn
HeaderText
="电话"
>
<
ItemTemplate
>
<
asp:TextBox
runat
="server"
Text
='<%#
DataBinder.Eval(Container, "DataItem.tel") %
>
' ID="Textbox4">
</
asp:TextBox
>
</
ItemTemplate
>
</
asp:TemplateColumn
>
<
asp:TemplateColumn
HeaderText
="地址"
>
<
ItemTemplate
>
<
asp:TextBox
runat
="server"
Text
='<%#
DataBinder.Eval(Container, "DataItem.addr") %
>
' ID="Textbox5">
</
asp:TextBox
>
</
ItemTemplate
>
</
asp:TemplateColumn
>
</
Columns
>
</
asp:DataGrid
>
<
asp:Button
id
="Button1"
style
="Z-INDEX: 102; LEFT: 80px; POSITION: absolute; TOP: 232px"
runat
="server"
Text
="批量更新"
></
asp:Button
>
在cs文件中写如下代码
private
void
Page_Load(
object
sender, System.EventArgs e)
{
//
在此处放置用户代码以初始化页面
if
(
!
this
.IsPostBack)
{
this
.Bind();
}
}
public
void
Bind()
{
try
{
SqlDataAdapter da
=
new
SqlDataAdapter(
"
select * from userinfo
"
,conn);
DataSet ds
=
new
DataSet();
da.Fill(ds,
"
gg
"
);
this
.DataGrid1.DataSource
=
ds;
this
.DataGrid1.DataBind();
}
catch
(Exception Err)
{
throw
Err;
}
finally
{
}
}
Web 窗体设计器生成的代码
#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
.Load
+=
new
System.EventHandler(
this
.Page_Load);
}
#endregion
private
void
Button1_Click(
object
sender, System.EventArgs e)
{
int
k
=
0
;
for
(
int
i
=
0
;i
<
this
.DataGrid1.Items.Count;i
++
)
{
int
id
=
int
.Parse(((Label)DataGrid1.Items[i].FindControl(
"
Label1
"
)).Text);
string
username
=
((TextBox)DataGrid1.Items[i].FindControl(
"
TextBox1
"
)).Text;
string
sex
=
((TextBox)DataGrid1.Items[i].FindControl(
"
TextBox2
"
)).Text;
int
age
=
int
.Parse(((TextBox)DataGrid1.Items[i].FindControl(
"
TextBox3
"
)).Text);
string
tel
=
((TextBox)DataGrid1.Items[i].FindControl(
"
TextBox4
"
)).Text;
string
addr
=
((TextBox)DataGrid1.Items[i].FindControl(
"
TextBox5
"
)).Text;
string
sql
=
"
update userinfo set uname='
"
+
username
+
"
',sex='
"
+
sex
+
"
',age=
"
+
age
+
"
,tel='
"
+
tel
+
"
',addr='
"
+
addr
+
"
' where id=
"
+
id
+
""
;
SqlCommand cmd
=
new
SqlCommand(sql,conn);
if
(conn.State
==
ConnectionState.Closed)
{
conn.Open();
}
k
=
cmd.ExecuteNonQuery();
}
if
(k
>
0
)
{
Page.RegisterStartupScript(
""
,
"
<script>alert('更新成功!');</script>
"
);
}
}
2.GridView 批量更新
在html的form中设置如下的GridView
<
asp:GridView
ID
="GridView1"
runat
="server"
AutoGenerateColumns
="False"
Width
="873px"
>
<
Columns
>
<
asp:TemplateField
HeaderText
="ID"
>
<
ItemTemplate
>
<
asp:Label
ID
="Label1"
runat
="server"
Text
='<%#
Bind("id") %
>
'>
</
asp:Label
>
</
ItemTemplate
>
</
asp:TemplateField
>
<
asp:TemplateField
HeaderText
="用户名"
>
<
ItemTemplate
>
<
asp:TextBox
ID
="TextBox2"
runat
="server"
Text
='<%#
Bind("uname") %
>
'>
</
asp:TextBox
>
</
ItemTemplate
>
</
asp:TemplateField
>
<
asp:TemplateField
HeaderText
="性别"
>
<
ItemTemplate
>
<
asp:TextBox
ID
="TextBox3"
runat
="server"
Text
='<%#
Bind("sex") %
>
'>
</
asp:TextBox
>
</
ItemTemplate
>
</
asp:TemplateField
>
<
asp:TemplateField
HeaderText
="年龄"
>
<
ItemTemplate
>
<
asp:TextBox
ID
="TextBox4"
runat
="server"
Text
='<%#
Bind("age") %
>
'>
</
asp:TextBox
>
</
ItemTemplate
>
</
asp:TemplateField
>
<
asp:TemplateField
HeaderText
="电话"
>
<
ItemTemplate
>
<
asp:TextBox
ID
="TextBox5"
runat
="server"
Text
='<%#
Bind("tel") %
>
'>
</
asp:TextBox
>
</
ItemTemplate
>
</
asp:TemplateField
>
<
asp:TemplateField
HeaderText
="地址"
>
<
ItemTemplate
>
<
asp:TextBox
ID
="TextBox6"
runat
="server"
Text
='<%#
Bind("addr") %
>
'>
</
asp:TextBox
>
</
ItemTemplate
>
</
asp:TemplateField
>
</
Columns
>
</
asp:GridView
>
</
div
>
<
asp:Button
ID
="Button1"
runat
="server"
Text
="批量更新"
OnClick
="Button1_Click"
/>
在cs文件中写如下代码
SqlConnection conn
=
new
SqlConnection(ConfigurationManager.AppSettings[
"
conn
"
]);
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(
!
this
.IsPostBack)
{
this
.Bind();
}
}
private
void
Bind()
{
try
{
SqlDataAdapter da
=
new
SqlDataAdapter(
"
select * from userinfo
"
,conn);
DataSet ds
=
new
DataSet();
da.Fill(ds,
"
ff
"
);
this
.GridView1.DataSource
=
ds;
this
.GridView1.DataBind();
}
catch
(Exception Err)
{
throw
Err;
}
finally
{
}
}
protected
void
Button1_Click(
object
sender, EventArgs e)
{
int
k
=
0
;
foreach
(GridViewRow gv
in
GridView1.Rows)
{
int
id
=
int
.Parse(((Label)gv.FindControl(
"
Label1
"
)).Text);
string
username
=
((TextBox)gv.FindControl(
"
TextBox2
"
)).Text;
string
sex
=
((TextBox)gv.FindControl(
"
TextBox3
"
)).Text;
int
age
=
int
.Parse(((TextBox)gv.FindControl(
"
TextBox4
"
)).Text);
string
tel
=
((TextBox)gv.FindControl(
"
TextBox5
"
)).Text;
string
addr
=
((TextBox)gv.FindControl(
"
TextBox6
"
)).Text;
string
sql
=
"
update userinfo set uname='
"
+
username
+
"
',sex='
"
+
sex
+
"
',age=
"
+
age
+
"
,tel='
"
+
tel
+
"
',addr='
"
+
addr
+
"
' where id=
"
+
id
+
""
;
SqlCommand cmd
=
new
SqlCommand(sql, conn);
if
(conn.State
==
ConnectionState.Closed)
{
conn.Open();
}
k
=
cmd.ExecuteNonQuery();
}
if
(k
>
0
)
{
Page.RegisterStartupScript(
""
,
"
<script>alert('更新成功!');</script>
"
);
}
}
查看全文
相关阅读:
进程、线程和协程的图解
Python多线程的原理与实现
Python多进程原理与实现
python面试题-1
数据库事务隔离级别--读未提交,读已提交,重复读,序列化
java--浅谈线程(二、线程的方法和状态)
java--浅谈线程(一简单介绍)
类加载机制--浅谈
JSP/Servlet Web 学习笔记 DayThree
JSP/Servlet Web 学习笔记 DayThree —— 实现一个登陆小界面
原文地址:https://www.cnblogs.com/zhukezhuke/p/1929752.html
最新文章
ansible自动安装jdk
机会留给那些有准备的人
ansible自动安装rabbitmq
Linux下python升级到python-2.7.13
重新安装Linux自带的JDK
chromedriver安装
cuda和cudnn版本对应关系
打开visdom的方法
Windows10下安装pytorch并导入pycharm
1
热门文章
简记
编程实现利用 DataFrame 读写 MySQL 的数据
object Row is not a member of package org.apache.spark.sql报错
无法导入 import spark.implicits._
学习进度
Nginx工作原理(Master+Worker)
Nginx 安装配置
nginx入门
网络传输7层,4层,5层模型
通过split命令分割大文件
Copyright © 2011-2022 走看看