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
}
查看全文
相关阅读:
1.1.28 文字所在段落增加下划线
Microsoft Project 2010基础使用方法
16.3 将Win7文档的内容到复制Linux的vi中
3.4 在Word中的公式和序号之间填充连续的点
18.25 JLink调试程序步骤
18.24 Ubuntu修改静态IP
18.23 inline函数功能
18.22 sprintf函数功能
18.21 关键字extern
18.20 频率单位转换
原文地址:https://www.cnblogs.com/freeliver54/p/919835.html
最新文章
MOOC C++笔记(七)输入输出流
MOOC Web前端笔记(三):CSS样式
MOOC 编译原理笔记(一):编译原理概述以及程序设计语言的定义
《将博客搬至CSDN》
Visual Studio code下载、安装、汉化教程
Source Insight 4.0中文注释乱码解决办法
STM32中ADC的计算概述
Keil5代码自动补全设置
C语言:级联if-else if-else多分支语句
C语言:getchar() & putchar()
热门文章
1.1.30 文档标题自动编号
嵌入式Linux开发学习过程
18.29 僵尸进程的处理
18.28 getchar()函数与缓冲区问题
17.5 快速查找变量引用
17.4 回车后缩进过多问题
18.27 查找头文件方法
18.26 freetype2字库移植
14.1 CuteFTP中如何删除历史连接记录
1.1.29 加入项目符号后换行文字未对齐
Copyright © 2011-2022 走看看