新增及删除Grid行
2007-10-10 17:58
155 查看
示例效果如下
点击 新增 按钮 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
}
点击 新增 按钮 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
}
相关文章推荐
- extjs4 grid 新增、删除、修改
- DevExpress GridControl控件行内新增、编辑、删除添加选择框(转)
- DevExpress GridControl控件行内新增、编辑、删除添加选择框
- extjs4 grid 新增、删除、修改
- grid的删除,success方法
- Javascript 操作select控件大全(新增、修改、删除、选中、清空、判断存在等)
- Oracle ADF 菜单中鼠标右键实现新增和删除按纽
- Javascript 操作select控件大全(新增、修改、删除、选中、清空、判断存在等)
- hdfs 删除和新增节点
- ABAP--如何使用REUSE_ALV_GRID_DISPLAY函数删除内表数据(样例代码,感谢依风提供)
- 转载:怎样在C#里对xml文件进行修改,新增,删除,插入操作?
- js控制新增,删除table的tr,td
- Magento后台Grid删除Add New按钮
- Asp.Net XML操作基类(修改,删除,新增,创建)
- EXTJS系列笔记————grid新增和修改数据与后台的快速交互
- JS操作select相关方法:新增 修改 删除 选中 清空 判断存在
- 利用GridView与UpdatePanel组合实现无刷新:新增、编辑、删除、分页效果
- 【原创】表格前端新增和批量删除
- 【mysql】新增、修改、删除、查询 语法讲义
- javascript 动态创建表格:新增、删除行和单元格