点击按钮时,将数据从文本框添加到gridview? [英] Add data from textbox to gridview on button click?
本文介绍了点击按钮时,将数据从文本框添加到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 functionPage_Load
is executed?
Looks to me like your columns are never added to theDataTable
.
Have you tried to set a break point insidePage_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屋!
查看全文