向数据表添加行 [英] Adding rows to a datatable
本文介绍了向数据表添加行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我尝试在运行时再添加一行时,它将覆盖并显示当前插入的值.我需要添加为下一行,依此类推.
When I try to add one more rows at runtime it will overwrite and displaying the current inserted value. I need to add as a next row and so on.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnsave_Click(object sender, EventArgs e)
{DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new System.Data.DataColumn("Name", typeof(String)));
dt.Columns.Add(new System.Data.DataColumn("Address", typeof(String)));
dt.Columns.Add(new System.Data.DataColumn("Cell", typeof(String)));
dr = dt.NewRow();
dr[0] = TextBox1.Text;
dr[1] = TextBox2.Text;
dr[2] = TextBox3.Text;
dt.Rows.Add(dr);
Session["CurrentData"] = dt;
clearfields();
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("Default3.aspx");
}
private void clearfields()
{
TextBox1.Text = "";
TextBox2.Text = "";
TextBox3.Text = "";
}
}
推荐答案
您的问题不是很清楚,但是如果您要问我认为自己是什么:
Your question isn''t really clear but if you''re asking what I think you are:
DataTable dt = new DataTable();
这将创建一个新数据表.如果要重用现有的,则需要
This creates a new data table. If you want to re-use an existing one, it needs to be
DataTable dt = something;
...很可能
... quite possibly
DataTable dt = Session["CurrentData"] as DataTable;
这是非常基本的东西.
This is pretty basic stuff.
您的问题尚不清楚.但是,我认为你应该喜欢
使用System.Web;
使用System.Web.Security;
使用System.Web.UI;
使用System.Web.UI.HtmlControls;
使用System.Web.UI.WebControls;
使用System.Web.UI.WebControls.WebParts;
使用System.Xml.Linq;
命名空间WebApplication1
{
公共局部类_Default:System.Web.UI.Page
{
受保护的void Page_Load(对象发送者,EventArgs e)
{
如果(!Page.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add(new System.Data.DataColumn("Name",typeof(String)));
dt.Columns.Add(new System.Data.DataColumn("Address",typeof(String)));
dt.Columns.Add(new System.Data.DataColumn("Cell",typeof(String)));
会话["CurrentData"] = dt;
}
}
受保护的无效btnSave_Click(对象发送者,EventArgs e)
{
((DataTable)Session ["CurrentData"]).Rows.Add(TextBox1.Text,TextBox2.Text,TextBox3.Text);
clearfields();
}
private void clearfields()
{
TextBox1.Text =";
TextBox2.Text =";
TextBox3.Text =";
}
受保护的void Button1_Click(对象发送者,EventArgs e)
{
Response.Redirect("Default3.aspx");
}
}
}
Your Question is not clear. But, I think you should do like
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add(new System.Data.DataColumn("Name", typeof(String)));
dt.Columns.Add(new System.Data.DataColumn("Address", typeof(String)));
dt.Columns.Add(new System.Data.DataColumn("Cell", typeof(String)));
Session["CurrentData"] = dt;
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
((DataTable)Session["CurrentData"]).Rows.Add(TextBox1.Text, TextBox2.Text, TextBox3.Text);
clearfields();
}
private void clearfields()
{
TextBox1.Text = "";
TextBox2.Text = "";
TextBox3.Text = "";
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("Default3.aspx");
}
}
}
这篇关于向数据表添加行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文