protected void Page_Load(object sender, EventArgs e)
{
}
private void SetInitialRow()
{
DataTable dt = new DataTable();
DataRow dr = null;
dt.Columns.Add(new DataColumn("Column1", typeof(string)));
dt.Columns.Add(new DataColumn("Column2", typeof(string)));
dt.Columns.Add(new DataColumn("Column3", typeof(string)));
dt.Columns.Add(new DataColumn("Column4", typeof(string)));
dt.Columns.Add(new DataColumn("Column5", typeof(string)));
dt.Columns.Add(new DataColumn("Column6", typeof(string)));
dt.Columns.Add(new DataColumn("Column7", typeof(string)));
dt.Columns.Add(new DataColumn("Column8", typeof(string)));
dt.Columns.Add(new DataColumn("Column9", typeof(string)));
dt.Columns.Add(new DataColumn("Column10", typeof(string)));
dt.Columns.Add(new DataColumn("Column11", typeof(string)));
dr = dt.NewRow();
dr["Column1"] = string.Empty;
dr["Column2"] = string.Empty;
dr["Column3"] = string.Empty;
dr["Column4"] = string.Empty;
dr["Column5"] = string.Empty;
dr["Column6"] = string.Empty;
dr["Column7"] = string.Empty;
dr["Column8"] = string.Empty;
dr["Column9"] = string.Empty;
dr["Column10"] = string.Empty;
dr["Column11"] = string.Empty;
dt.Rows.Add(dr);
//Store the DataTable in ViewState
ViewState["CurrentTable"] = dt;
gv_sale_entry.DataSource = dt;
gv_sale_entry.DataBind();
}
protected void btnremove_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
GridViewRow gvRow = (GridViewRow)btn.NamingContainer;
int rowID = gvRow.RowIndex;
if (ViewState["CurrentTable"] != null)
{
DataTable dt = (DataTable)ViewState["CurrentTable"];
if (dt.Rows.Count > 1)
{
if (gvRow.RowIndex <= dt.Rows.Count - 1)
{
//Remove the Selected Row data and reset row number
dt.Rows.Remove(dt.Rows[rowID]);
ResetRowID(dt);
}
}
ViewState["CurrentTable"] = dt;
//Re bind the GridView for the updated data
gv_sale_entry.DataSource = dt;
gv_sale_entry.DataBind();
}
//Set Previous Data on Postbacks
SetPreviousData();
}
private void AddNewRowToGrid()
{
int rowIndex = 0;
if (ViewState["CurrentTable"] != null)
{
DataTable dtCurrentTable = (DataTable)ViewState["CurrentTable"];
DataRow drCurrentRow = null;
if (dtCurrentTable.Rows.Count > 0)
{
for (int i = 1; i <= dtCurrentTable.Rows.Count; i++)
{
//extract the TextBox values
DropDownList ddl_item_name = (DropDownList)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("ddl_item_name");
TextBox txt_quantity = (TextBox)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("txt_quantity");
TextBox txt_rate = (TextBox)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("txt_rate");
TextBox txt_taxper = (TextBox)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("txt_taxper");
TextBox txt_tax_amount = (TextBox)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("txt_tax_amount");
TextBox txt_lot_qty = (TextBox)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("txt_lot_qty");
DropDownList ddl_sale_ledger = (DropDownList)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("ddl_sale_ledger");
TextBox txt_total_amount = (TextBox)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("txt_total_amount");
DropDownList ddl_color = (DropDownList)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("ddl_color");
DropDownList ddl_unit = (DropDownList)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("ddl_unit");
DropDownList ddl_tax_name = (DropDownList)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("ddl_tax_name");
Button btn_add = (Button)gv_sale_entry.FooterRow.FindControl("btnaddnew");
btn_add.Enabled = false;
drCurrentRow = dtCurrentTable.NewRow();
dtCurrentTable.Rows[i - 1]["Column1"] = ddl_sale_ledger.Text;
dtCurrentTable.Rows[i - 1]["Column2"] = ddl_item_name.Text;
dtCurrentTable.Rows[i - 1]["Column3"] = ddl_color.Text;
dtCurrentTable.Rows[i - 1]["Column4"] = ddl_unit.Text;
dtCurrentTable.Rows[i - 1]["Column5"] = txt_lot_qty.Text;
dtCurrentTable.Rows[i - 1]["Column6"] = txt_quantity.Text;
dtCurrentTable.Rows[i - 1]["Column7"] = txt_rate.Text;
dtCurrentTable.Rows[i - 1]["Column8"] = ddl_tax_name.Text;
dtCurrentTable.Rows[i - 1]["Column9"] = txt_taxper.Text;
dtCurrentTable.Rows[i - 1]["Column10"] = txt_tax_amount.Text;
dtCurrentTable.Rows[i - 1]["Column11"] = txt_total_amount.Text;
rowIndex++;
}
dtCurrentTable.Rows.Add(drCurrentRow);
ViewState["CurrentTable"] = dtCurrentTable;
gv_sale_entry.DataSource = dtCurrentTable;
gv_sale_entry.DataBind();
int r_count = gv_sale_entry.Rows.Count;
}
}
else
{
Response.Write("ViewState is null");
}
objsaleentry.item_type = Convert.ToString(ddl_itemtype.SelectedItem.Text);
for (int i = 0; i < gv_sale_entry.Rows.Count; i++)
{
ddl_item_name = (DropDownList)gv_sale_entry.Rows[i].Cells[0].FindControl("ddl_item_name");
Comman.FillListControl(ddl_item_name, objsaleentry.BindItemBrand(objsaleentry), "item_id", "item_name");
//ddl_item_name.Items.Insert(0, new ListItem("Select ", "0"));
}
//Set Previous Data on Postbacks
SetPreviousData();
}
private void SetPreviousData()
{
int rowIndex = 0;
if (ViewState["CurrentTable"] != null)
{
DataTable dt = (DataTable)ViewState["CurrentTable"];
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
DropDownList ddl_item_name = (DropDownList)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("ddl_item_name");
TextBox txt_quantity = (TextBox)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("txt_quantity");
TextBox txt_rate = (TextBox)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("txt_rate");
TextBox txt_taxper = (TextBox)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("txt_taxper");
TextBox txt_tax_amount = (TextBox)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("txt_tax_amount");
TextBox txt_lot_qty = (TextBox)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("txt_lot_qty");
TextBox txt_total_amount = (TextBox)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("txt_total_amount");
DropDownList ddl_color = (DropDownList)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("ddl_color");
DropDownList ddl_unit = (DropDownList)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("ddl_unit");
DropDownList ddl_tax_name = (DropDownList)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("ddl_tax_name");
DropDownList ddl_sale_ledger = (DropDownList)gv_sale_entry.Rows[rowIndex].Cells[1].FindControl("ddl_sale_ledger");
ddl_sale_ledger.Text = dt.Rows[i]["Column1"].ToString();
ddl_item_name.Text = dt.Rows[i]["Column2"].ToString();
ddl_color.Text = dt.Rows[i]["Column3"].ToString();
ddl_unit.Text = dt.Rows[i]["Column4"].ToString();
txt_lot_qty.Text = dt.Rows[i]["Column5"].ToString();
txt_quantity.Text = dt.Rows[i]["Column6"].ToString();
txt_rate.Text = dt.Rows[i]["Column7"].ToString();
ddl_tax_name.Text = dt.Rows[i]["Column8"].ToString();
txt_taxper.Text = dt.Rows[i]["Column9"].ToString();
//ddl_taxtype.Text = dt.Rows[i]["Column8"].ToString();
txt_tax_amount.Text = dt.Rows[i]["Column10"].ToString();
txt_total_amount.Text = dt.Rows[i]["Column11"].ToString();
rowIndex++;
}
}
}
}
private void ResetRowID(DataTable dt)
{
int rowNumber = 0;
if (dt.Rows.Count > 0)
{
foreach (DataRow row in dt.Rows)
{
row[0] = rowNumber;
rowNumber++;
}
}
}
protected void btnaddnew_Click(object sender, EventArgs e)
{
AddNewRowToGrid();
}