Click here to Skip to main content
15,892,298 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
hey there,
i have a web form in which i have a ddl which is taking values from the db,a label which is showing price of the selected item from the ddl that too from db,a textbox in which user can input the no. of quantities of the selected item.
Now i have a gridview in which i have columns itemName,Price,Qty and amount(will b price * Qty).Now,what i want is to add new row to this gridview which includes values selected from ddl,label and quantity on a button(Add) click.

And then save these values to my db table.
Can anyone help...


thanks
Amit
Posted

1 solution

On button click, post back the page. Get these values, and update the database. Re-bind the GridView. What's the problem?
 
Share this answer
 
Comments
AmitChoudhary10 10-Sep-10 1:11am    
Well,the problem is that i am new to .NET and dont have much experience with gridview and dataBinding.
Ankur\m/ 10-Sep-10 1:20am    
In that case, go through "http://msdn.microsoft.com/en-us/library/dd548005.aspx" or "http://www.codeproject.com/KB/webforms/GridView_all_in_one.aspx" before you start programming.
AmitChoudhary10 10-Sep-10 1:39am    
The thing is that either i am missing something or something is surely wrong with my code.My code for btnAdd_click is

protected void btnAddNewRow_Click(object sender, EventArgs e)
{
if (ddlSearchItems.SelectedIndex > 0)
{
DataRow drValues = dtValues.NewRow();
drValues["Id"] = ddlSearchItems.SelectedItem.Value;
drValues["Item"] = ddlSearchItems.SelectedItem.Text;
drValues["Rate"] = lblActualPrice.Text;
drValues["Qty"] = txtQuantity.Text;
drValues["Amount"] = Convert.ToInt32(lblActualPrice.Text) * Convert.ToInt32(txtQuantity.Text);
dtValues.Rows.Add(drValues);
dtValues.AcceptChanges();
gvOrders.DataSource = dtValues;
gvOrders.DataBind();
//gvOrders.Columns[0].Visible = false;
SetVisibilities(true);
gvOrders.Visible = true;
foreach (GridViewRow row in gvOrders.Rows)
{
//InsertOrder(row.Cells[0].Text, row.Cells[2].Text);
}
}
}
Ankur\m/ 10-Sep-10 1:44am    
Tell me what is not working?
BTW you are not updating the Database here (no SQLDataAdapter.Update() method).
AmitChoudhary10 10-Sep-10 1:56am    
I am still working on adding row into gridview on Add button click,then i'll work on saving it to db.

Order.aspx

protected void btnAddNewRow_Click(object sender, EventArgs e)
{
if (ddlSearchItems.SelectedIndex > 0)
{
DataRow drValues = dtValues.NewRow();
drValues["Id"] = ddlSearchItems.SelectedItem.Value;
drValues["Item"] = ddlSearchItems.SelectedItem.Text;
drValues["Rate"] = lblActualPrice.Text;
drValues["Qty"] = txtQuantity.Text;
drValues["Amount"] = Convert.ToInt32(lblActualPrice.Text) * Convert.ToInt32(txtQuantity.Text);
dtValues.Rows.Add(drValues);
dtValues.AcceptChanges();
gvOrders.DataSource = dtValues;
gvOrders.DataBind();
//gvOrders.Columns[0].Visible = false;
SetVisibilities(true);
gvOrders.Visible = true;
foreach (GridViewRow row in gvOrders.Rows)
{
//InsertOrder(row.Cells[0].Text, row.Cells[2].Text);
}
}
}

Order.aspx.cs

using System;
using System.Collections;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
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;
using ChalkHillDAL;

namespace ChalkHill
{
public partial class Order : System.Web.UI.Page
{

public static DataTable dtValues;
private string conn = string.Empty;
SQLHelper objSqlHelper = new SQLHelper();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CreateDataTable();
AddValuesToSearchDropdown();
}
}
private void PopulateItems()
{

}
protected void btnAddNewRow_Click(object sender, EventArgs e)
{
if (ddlSearchItems.SelectedIndex > 0)
{
DataRow drValues = dtValues.NewRow();
drValues["Id"] = ddlSearchItems.SelectedItem.Value;
drValues["Item"] = ddlSearchItems.SelectedItem.Text;
drValues["Rate"] = lblActualPrice.Text;
drValues["Qty"] = txtQuantity.Text;
drValues["Amount"] = Convert.ToInt32(lblActualPrice.Text) * Convert.ToInt32(txtQuantity.Text);
dtValues.Rows.Add(drValues);
dtValues.AcceptChanges();
gvOrders.DataSource = dtValues;
gvOrders.DataBind();
//gvOrders.Columns[0].Visible = false;
SetVisibilities(true);
gvOrders.Visible = true;
foreach (GridViewRow row in gvOrders.Rows)
{
//InsertOrder(row.Cells[0].Text, row.Cells[2].Text);
}
}
}

private void InsertOrder(string productName, string quantity)
{
objSqlHelper.InsertOrderInDB("insert into tblOrderItems (Pid, QtyOrdered) values ('" + productName + "'," + quantity + ")");
}

protected void CreateDataTable()
{
dtValues = new DataTable();
dtValues.Columns.Add("Id");
dtValues.Columns.Add("Item");
dtValues.Columns.Add("Rate");
dtValues.Columns.Add("Qty");
dtValues.Columns.Add("Amount");
}

private void AddValuesToSearchDropdown()
{
DataSet dsProducts = objSqlHelper.GetProducts("select * from tblProducts");
if (dsProducts != null)
{
ddlSearchItems.DataSource = dsProducts;
ddlSearchItems.DataTextField = "ProductName";
ddlSearchItems.DataValueField = "Pid";

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900