点击按钮时,将数据从文本框添加到gridview? [英] Add data from textbox to gridview on button click?

查看:71
本文介绍了点击按钮时,将数据从文本框添加到gridview?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有2个Dropdownlist和3个Textboxes,我想从文本框中添加数据,点击按钮后会将它们添加到GridView



我是什么尝试过:



I have 2 Dropdownlist and 3 Textboxes and I want to add data from textboxes and after a button click they will be added to GridView

What I have tried:

DataRow dr;
        DataTable dt = new DataTable();

        protected void Page_Load(object sender, EventArgs e)
        { dt.Columns.Add(new DataColumn("itemname", typeof(string)));
            dt.Columns.Add(new DataColumn("itemprice", typeof(double)));
            dt.Columns.Add(new DataColumn("quantity", typeof(int)));
            dt.Columns.Add(new DataColumn("tax", typeof(double)));
            dt.Columns.Add(new DataColumn("finalamount", typeof(double))); 
          
        }
 protected void Button2_Click(object sender, EventArgs e)
        {
            dr = dt.NewRow();
            dr["itemname"] = DropDownList1.SelectedItem.Text;
            dr["itemprice"] = TextBox1.Text;
            dr["quantity"] = DropDownList2.Text;
            dr["tax"] = TextBox2.Text;
            dr["finalamount"] = TextBox3.Text;
            dt.Rows.Add(dr);
            GridView1.DataSource = dt;
            GridView1.DataBind();
        }



我的代码是这个

我点击按钮列'项目名'不属于表'这个错误是请帮帮我


my code is this
whan i click button "Column 'itemname' does not belong to table " this error is comeing please help me

推荐答案

你确定执行了 Page_Load 这个函数吗?

在我看来你的列永远不会添加到 DataTable



你试过设置一个在 Page_Load 内断点,看看调试器是否停在那里?



并且为了避免你试图添加列两次你可以像这样更改代码

Are you certain the the function Page_Load is executed?
Looks to me like your columns are never added to the DataTable.

Have you tried to set a break point inside Page_Load to see if the debugger stops there?

And to avoid that you try to add the columns twice you could change the code like this
DataTable dt = null;
protected void Page_Load(object sender, EventArgs e)
{ 
    dt = new DataTable();
    dt.Columns.Add(new DataColumn("itemname", typeof(string)));
    dt.Columns.Add(new DataColumn("itemprice", typeof(double)));
    dt.Columns.Add(new DataColumn("quantity", typeof(int)));
    dt.Columns.Add(new DataColumn("tax", typeof(double)));
    dt.Columns.Add(new DataColumn("finalamount", typeof(double)));
}






or

DataTable dt = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
    if (dt.Columns.Count == 0)
    {
        dt.Columns.Add(new DataColumn("itemname", typeof(string)));
        dt.Columns.Add(new DataColumn("itemprice", typeof(double)));
        dt.Columns.Add(new DataColumn("quantity", typeof(int)));
        dt.Columns.Add(new DataColumn("tax", typeof(double)));
        dt.Columns.Add(new DataColumn("finalamount", typeof(double)));
    }
}





[更新]

使用调试器浏览代码 [ ^ ]

如何:设置一个简单的断点 [ ^ ]


更正版本:

慢慢地调试并检查你错过了什么。



corrected version:
slowly debug and check what you have missed.

protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                DataTable dtTemp = new DataTable(); ;
                dtTemp.Columns.Add(new DataColumn("itemname", typeof(string)));
                dtTemp.Columns.Add(new DataColumn("itemprice", typeof(double)));
                dtTemp.Columns.Add(new DataColumn("quantity", typeof(int)));
                dtTemp.Columns.Add(new DataColumn("tax", typeof(double)));
                dtTemp.Columns.Add(new DataColumn("finalamount", typeof(double)));               
                Session["Data"] = dtTemp;
            }

        }

         

        protected void Button2_Click1(object sender, EventArgs e)
        {
            var dataTableFromSession = Session["Data"] as DataTable; 
                double itemPrice, tax, finalamount;
                int quantity;
                double.TryParse(TextBox1.Text, out itemPrice);
                int.TryParse(DropDownList2.Text, out quantity);
                double.TryParse(TextBox2.Text, out tax);
                double.TryParse(TextBox3.Text, out finalamount);
               var  dataRow = dataTableFromSession.NewRow();
                dataRow["itemname"] = DropDownList1.SelectedItem.Text;
                dataRow["itemprice"] = itemPrice;
                dataRow["quantity"] = quantity;
                dataRow["tax"] = tax;
                dataRow["finalamount"] = finalamount;
                dataTableFromSession.Rows.Add(dataRow); 
                Session["Data"] = dataTableFromSession; 
            GridView1.DataSource = dataTableFromSession;
            GridView1.DataBind();
        }


这篇关于点击按钮时,将数据从文本框添加到gridview?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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