向数据表添加行 [英] Adding rows to a datatable

查看:87
本文介绍了向数据表添加行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试在运行时再添加一行时,它将覆盖并显示当前插入的值.我需要添加为下一行,依此类推.

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆