Chcę pobrać dane z pól tekstowych, a na przycisku kliknij Chcę dane te należy wstawić do GridView
. Przy każdym kliknięciu powinien zostać utworzony nowy wiersz, a stary wiersz nie może zostać usunięty. Za każdym razem, gdy wprowadzam nowe dane i klikam przycisk, mój stary wiersz jest usuwany, a zamiast niego zapisywany jest nowy wiersz. Tu jest mój kodu:Jak wstawić dane z pól tekstowych do GridView na przycisku kliknij w ASP.NET
DataTable dt1 = new DataTable();
bool flag = false;
private void gridVIEWData()
{
dt1.Columns.Add("pName", typeof(string));
dt1.Columns.Add("pCategory", typeof(string));
dt1.Columns.Add("price", typeof(string));
dt1.Columns.Add("pQuantity", typeof(string));
dt1.Columns.Add("totalPrice", typeof(string));
}
protected void Button3_Click(object sender, EventArgs e)
{
if (!flag)
{
gridVIEWData();
flag = true;
Int32 total = Convert.ToInt32(txt_quantity.Text) * Convert.ToInt32(txt_price.Text);
DataRow dr = dt1.NewRow();
dr["pName"] = DropDownList2.SelectedItem;
dr["pCategory"] = DropDownList1.SelectedItem;
dr["price"] = txt_price.Text;
dr["pQuantity"] = txt_quantity.Text;
dr["totalPrice"] = total;
dt1.Rows.Add(dr);
GridView1.DataSource = dt1;
GridView1.DataBind();
}
else if (!IsPostBack)
{
Int32 total = Convert.ToInt32(txt_quantity.Text) * Convert.ToInt32(txt_price.Text);
DataRow dr = dt1.NewRow();
dr["pName"] = DropDownList2.SelectedItem;
dr["pCategory"] = DropDownList1.SelectedItem;
dr["price"] = txt_price.Text;
dr["pQuantity"] = txt_quantity.Text;
dr["totalPrice"] = total;
dt1.Rows.Add(dr);
GridView1.DataSource = dt1;
GridView1.DataBind();
}
}
Co dzieje się w "Page_Load'? Rozważ zmianę nazw swoich przycisków. Cel 'Button3' nie jest oczywisty. –