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>
"
);
}
}
查看全文
相关阅读:
PMP考试结束了,期待结果中。。。
Windows Server 2008安装及配置Terminal Server
CMMI分段式级别的易理解版本
c# RoundUp函数
管理学中的知名定律之阿尔布莱特法则
Risk Categories
如何躲开“责任”的逆袭
一次失败的聚会
【老孙随笔】属相影响你的职业前途吗?
项目经理的超越(三)人际优先,做事上的超越
原文地址:https://www.cnblogs.com/zhukezhuke/p/1929752.html
最新文章
使用GDI+进行图像旋转
数据库的应用真是太广泛了
FileSystemWatcher
Websphere Portal Server和Sharepoint Portal Server
SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块
软件工程师不可不知的10个概念
工作日志12.13
JS本页改变内容无后退
复制目录到其他目录
工作日志2005.12.11
热门文章
工作日志2005.12.12
如何在WCF中用TcpTrace工具查看发送和接收的SOAP消息
如何查看fusion log
管理学中的知名定律之阿尔巴德定理
Word 2007突然不能显示图片的解决方法
管理学中的知名定律之阿什法则
Excel 2007 如何画双纵坐标图
管理学中的知名定律之安慰剂效应(Placebo Effect)
装了Windows7死活ping不通windows server 2008
PMP考试通过了
Copyright © 2011-2022 走看看