zoukankan
html css js c++ java
新增及删除Grid行
示例效果如下
点击 新增 按钮 Grid将增加一空行 用于输入
点击 删除 按钮 将删除该行记录并重新绑定Grid
相关代码如下
HTML部分
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeFile
=
"
Default.aspx.cs
"
Inherits
=
"
PrivateWork_Default
"
%>
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<
html
xmlns
="http://www.w3.org/1999/xhtml"
>
<
head
runat
="server"
>
<
title
>
Grid 新增及删除一行
</
title
>
</
head
>
<
body
>
<
form
id
="form1"
runat
="server"
>
<
asp:GridView
ID
="GridView1"
runat
="server"
AutoGenerateColumns
="False"
>
<
Columns
>
<
asp:TemplateField
HeaderText
="pID"
>
<
ItemTemplate
>
<
asp:TextBox
ID
="txt_pID"
runat
="server"
Width
="98"
Text
='<%#
Bind("pID") %
>
'>
</
asp:TextBox
>
</
ItemTemplate
>
<
HeaderStyle
HorizontalAlign
="Center"
/>
</
asp:TemplateField
>
<
asp:TemplateField
HeaderText
="pName"
>
<
ItemTemplate
>
<
asp:TextBox
ID
="txt_pName"
runat
="server"
Width
="98"
Text
='<%#
Bind("pName") %
>
' >
</
asp:TextBox
>
</
ItemTemplate
>
<
HeaderStyle
HorizontalAlign
="Center"
/>
</
asp:TemplateField
>
<
asp:TemplateField
>
<
HeaderTemplate
>
<
asp:Button
ID
="btn_NewAdd"
runat
="server"
Text
="新增"
OnClick
="btn_NewAdd_Click"
/>
</
HeaderTemplate
>
<
ItemTemplate
>
<
asp:Button
ID
="btn_Delete"
runat
="server"
Text
="删除"
CommandArgument
="<%# GridView1.Rows.Count %>"
OnClick
="btn_Delete_Click"
/>
</
ItemTemplate
>
</
asp:TemplateField
>
</
Columns
>
</
asp:GridView
>
<
asp:Button
ID
="btn_SaveAndShow"
runat
="server"
Text
="保存并显示数据在GridView2"
OnClick
="btn_SaveAndShow_Click"
/><
br
/>
<
asp:GridView
ID
="GridView2"
runat
="server"
Width
="200"
>
</
asp:GridView
>
</
form
>
</
body
>
</
html
>
后台部分
using
System;
using
System.Data;
using
System.Configuration;
using
System.Collections;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
public
partial
class
PrivateWork_Default : System.Web.UI.Page
{
Page_Load 构造DataTable
#region
Page_Load 构造DataTable
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(
!
IsPostBack)
{
//
DataTable dt
=
new
DataTable();
dt.Columns.Add(
"
pID
"
,
typeof
(
string
));
dt.Columns.Add(
"
pName
"
,
typeof
(
string
));
DataRow dr
=
dt.NewRow();
dr[
"
pID
"
]
=
""
;
dr[
"
pName
"
]
=
""
;
dt.Rows.Add(dr);
ViewState.Add(
"
mydt
"
, dt);
//
this
.GridView1.DataSource
=
dt;
this
.GridView1.DataBind();
}
}
#endregion
Grid 新增一行
#region
Grid 新增一行
protected
void
btn_NewAdd_Click(
object
sender, EventArgs e)
{
DataTable dt
=
(DataTable)ViewState[
"
mydt
"
];
dt.Rows.Clear();
//
保存页面输入
for
(
int
i
=
0
; i
<
this
.GridView1.Rows.Count; i
++
)
{
string
str_pID
=
((TextBox)
this
.GridView1.Rows[i].FindControl(
"
txt_pID
"
)).Text.Trim();
string
str_pName
=
((TextBox)
this
.GridView1.Rows[i].FindControl(
"
txt_pName
"
)).Text.Trim();
//
DataRow dr
=
dt.NewRow();
dr[
"
pID
"
]
=
str_pID;
dr[
"
pName
"
]
=
str_pName;
dt.Rows.Add(dr);
}
//
新增空行
DataRow drEmpty
=
dt.NewRow();
drEmpty[
"
pID
"
]
=
""
;
drEmpty[
"
pName
"
]
=
""
;
dt.Rows.Add(drEmpty);
//
ViewState[
"
mydt
"
]
=
dt;
//
this
.GridView1.DataSource
=
dt;
this
.GridView1.DataBind();
}
#endregion
Grid 删除一行
#region
Grid 删除一行
protected
void
btn_Delete_Click(
object
sender, EventArgs e)
{
//
删除指定行
int
intIndex
=
Convert.ToInt32(((Button)sender).CommandArgument);
DataTable dt
=
(DataTable)ViewState[
"
mydt
"
];
dt.Rows.RemoveAt(intIndex);
//
确保至少有一空行 以使GridView1能显示
if
(dt.Rows.Count
==
0
)
{
DataRow drEmpty
=
dt.NewRow();
drEmpty[
"
pID
"
]
=
""
;
drEmpty[
"
pName
"
]
=
""
;
dt.Rows.Add(drEmpty);
}
//
ViewState[
"
mydt
"
]
=
dt;
//
this
.GridView1.DataSource
=
dt;
this
.GridView1.DataBind();
}
#endregion
保存并显示 按钮
#region
保存并显示 按钮
protected
void
btn_SaveAndShow_Click(
object
sender, EventArgs e)
{
DataTable dt
=
(DataTable)ViewState[
"
mydt
"
];
dt.Rows.Clear();
//
for
(
int
i
=
0
; i
<
this
.GridView1.Rows.Count; i
++
)
{
string
str_pID
=
((TextBox)
this
.GridView1.Rows[i].FindControl(
"
txt_pID
"
)).Text.Trim();
string
str_pName
=
((TextBox)
this
.GridView1.Rows[i].FindControl(
"
txt_pName
"
)).Text.Trim();
//
DataRow dr
=
dt.NewRow();
dr[
"
pID
"
]
=
str_pID;
dr[
"
pName
"
]
=
str_pName;
dt.Rows.Add(dr);
}
ViewState[
"
mydt
"
]
=
dt;
//
this
.GridView2.DataSource
=
dt;
this
.GridView2.DataBind();
}
#endregion
}
查看全文
相关阅读:
LG P4284 [SHOI2014]概率充电器
LG P2592 [ZJOI2008]生日聚会
LG P4953 [USACO02FEB]Cow Cycling
LG P2389 电脑班的裁员
LG P2344 [USACO11FEB]Generic Cow Protests G
前端简历
前端面试题目
大前端的技术栈
前端 -为什么要清楚浮动?
Redis的功能实现
原文地址:https://www.cnblogs.com/freeliver54/p/919835.html
最新文章
css--响应式网格布局
css--伪元素
css--双飞翼布局
css--圣杯布局
Mysql--常用函数
Mysql--分区
2.21
2.20
2.19
2.18
热门文章
2.17
2.16
2.15
lower_bound
2.15
1
LG P2179 [NOI2012]骑行川藏
LG P2480 [SDOI2010]古代猪文
LG P2257 YY的GCD
LG P3951 小凯的疑惑 / [蓝桥杯2013省]买不到的数目
Copyright © 2011-2022 走看看