Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to do multiple cells in a single row column using GridView Control
    primarykey
    data
    text
    <p>Here I am using GridView Control.. My output screen is this..</p> <p><img src="https://i.stack.imgur.com/MSXi1.png" alt="enter image description here"></p> <p>My Coding is..</p> <pre><code>protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("S.No", typeof(string))); dt.Columns.Add(new DataColumn("Article No", typeof(string))); dt.Columns.Add(new DataColumn("Item Description", typeof(string))); dt.Columns.Add(new DataColumn("Order Quantity", typeof(string))); dt.Columns.Add(new DataColumn("UOM", typeof(string))); dt.Columns.Add(new DataColumn("Rate", typeof(string))); dt.Columns.Add(new DataColumn("Currency", typeof(string))); dt.Columns.Add(new DataColumn("Amount", typeof(string))); DataRow dr = dt.NewRow(); dr["S.No"] = 1; dr["Article No"] = string.Empty; dr["Item Description"] = string.Empty; dr["Order Quantity"] = 0; dr["UOM"] = string.Empty; dr["Rate"] = 0.00; dr["Currency"] = string.Empty; dr["Amount"] = 0.00; dt.Rows.Add(dr); ViewState["currenttable"] = dt; GridView1.DataSource = dt; GridView1.DataBind(); DropDownList box2 = (DropDownList)GridView1.Rows[0].Cells[1].FindControl("DropDownList1"); box2.DataSource = SIMBL.ShowSalesOrderArticleNumberInfo(); box2.DataTextField = "Port_Number"; box2.DataValueField = "Description"; box2.DataBind(); box2.Items.Insert(0, " "); DropDownList box12 = (DropDownList)GridView1.Rows[0].Cells[4].FindControl("DropDownList3"); box12.DataSource = SIMBL.ShowSimpleUnitItemInfo(); box12.DataTextField = "Name"; box12.DataValueField = "Symbol"; box12.DataBind(); box12.Items.Insert(0, " "); DropDownList box13 = (DropDownList)GridView1.Rows[0].Cells[4].FindControl("DropDownList4"); box13.DataSource = SIMBL.ShowSimpleUnitItemInfo(); box13.DataTextField = "Name"; box13.DataValueField = "Symbol"; box13.DataBind(); box13.Items.Insert(0, " "); DropDownList box14 = (DropDownList)GridView1.Rows[0].Cells[4].FindControl("DropDownList5"); box14.DataSource = SIMBL.ShowSimpleUnitItemInfo(); box14.DataTextField = "Name"; box14.DataValueField = "Symbol"; box14.DataBind(); box14.Items.Insert(0, " "); } } public void addnewrow() { int rowIndex = 0; if (ViewState["currenttable"] != null) { DataTable dtCurrentTable = (DataTable)ViewState["currenttable"]; DataRow drCurrentRow = null; for (int i = 1; i &lt;= dtCurrentTable.Rows.Count; i++) { //extract the TextBox values TextBox box1 = (TextBox)GridView1.Rows[rowIndex].Cells[0].FindControl("TextBox6"); DropDownList box2 = (DropDownList)GridView1.Rows[rowIndex].Cells[1].FindControl("DropDownList1"); TextBox box3 = (TextBox)GridView1.Rows[rowIndex].Cells[2].FindControl("TextBox8"); TextBox box4 = (TextBox)GridView1.Rows[rowIndex].Cells[2].FindControl("TextBox9"); TextBox box5 = (TextBox)GridView1.Rows[rowIndex].Cells[2].FindControl("TextBox10"); TextBox box6 = (TextBox)GridView1.Rows[rowIndex].Cells[2].FindControl("TextBox11"); Label box7 = (Label)GridView1.Rows[rowIndex].Cells[3].FindControl("Label6"); TextBox box8 = (TextBox)GridView1.Rows[rowIndex].Cells[3].FindControl("TextBox13"); TextBox box9 = (TextBox)GridView1.Rows[rowIndex].Cells[3].FindControl("TextBox14"); TextBox box10 = (TextBox)GridView1.Rows[rowIndex].Cells[3].FindControl("TextBox15"); Label box11 = (Label)GridView1.Rows[rowIndex].Cells[4].FindControl("Label7"); DropDownList box12 = (DropDownList)GridView1.Rows[rowIndex].Cells[4].FindControl("DropDownList3"); DropDownList box13 = (DropDownList)GridView1.Rows[rowIndex].Cells[4].FindControl("DropDownList4"); DropDownList box14 = (DropDownList)GridView1.Rows[rowIndex].Cells[4].FindControl("DropDownList5"); Label box15 = (Label)GridView1.Rows[rowIndex].Cells[5].FindControl("Label8"); TextBox box16 = (TextBox)GridView1.Rows[rowIndex].Cells[5].FindControl("TextBox17"); TextBox box17 = (TextBox)GridView1.Rows[rowIndex].Cells[5].FindControl("TextBox18"); TextBox box18 = (TextBox)GridView1.Rows[rowIndex].Cells[5].FindControl("TextBox19"); Label box19 = (Label)GridView1.Rows[rowIndex].Cells[6].FindControl("Label9"); DropDownList box20 = (DropDownList)GridView1.Rows[rowIndex].Cells[6].FindControl("DropDownList7"); DropDownList box21 = (DropDownList)GridView1.Rows[rowIndex].Cells[6].FindControl("DropDownList8"); DropDownList box22 = (DropDownList)GridView1.Rows[rowIndex].Cells[6].FindControl("DropDownList9"); Label box23 = (Label)GridView1.Rows[rowIndex].Cells[7].FindControl("Label0"); TextBox box24 = (TextBox)GridView1.Rows[rowIndex].Cells[7].FindControl("TextBox21"); TextBox box25 = (TextBox)GridView1.Rows[rowIndex].Cells[7].FindControl("TextBox22"); TextBox box26 = (TextBox)GridView1.Rows[rowIndex].Cells[7].FindControl("TextBox23"); TextBox box27 = (TextBox)GridView1.FooterRow.Cells[7].FindControl("TextBox24"); drCurrentRow = dtCurrentTable.NewRow(); drCurrentRow["S.No"] = i + 1; dtCurrentTable.Rows[i - 1]["Article No"] = box2.Text; dtCurrentTable.Rows[i - 1]["Item Description"] = box3.Text + "," + box4.Text + "," + box5.Text + "," + box6.Text; dtCurrentTable.Rows[i - 1]["Order Quantity"] = box8.Text + "," + box9.Text + "," + box10.Text; dtCurrentTable.Rows[i - 1]["UOM"] = box12.Text + "," + box13.Text + "," + box14.Text; dtCurrentTable.Rows[i - 1]["Rate"] = box16.Text + "," + box17.Text + "," + box18.Text; dtCurrentTable.Rows[i - 1]["Currency"] = box20.Text + "," + box21.Text + "," + box22.Text; dtCurrentTable.Rows[i - 1]["Amount"] = box24.Text + "," + box25.Text + "," + box26.Text; rowIndex++; } dtCurrentTable.Rows.Add(drCurrentRow); ViewState["currenttable"] = dtCurrentTable; GridView1.DataSource = dtCurrentTable; GridView1.DataBind(); for (int i = 0; i &lt;= dtCurrentTable.Rows.Count - 1; i++) { DropDownList box2 = (DropDownList)GridView1.Rows[i].Cells[1].FindControl("DropDownList1"); box2.DataSource = SIMBL.ShowSalesOrderArticleNumberInfo(); box2.DataTextField = "Port_Number"; box2.DataValueField = "Description"; box2.DataBind(); box2.Items.Insert(0, " "); DropDownList box12 = (DropDownList)GridView1.Rows[i].Cells[4].FindControl("DropDownList3"); box12.DataSource = SIMBL.ShowSimpleUnitItemInfo(); box12.DataTextField = "Name"; box12.DataValueField = "Symbol"; box12.DataBind(); box12.Items.Insert(0, " "); DropDownList box13 = (DropDownList)GridView1.Rows[i].Cells[4].FindControl("DropDownList4"); box13.DataSource = SIMBL.ShowSimpleUnitItemInfo(); box13.DataTextField = "Name"; box13.DataValueField = "Symbol"; box13.DataBind(); box13.Items.Insert(0, " "); DropDownList box14 = (DropDownList)GridView1.Rows[i].Cells[4].FindControl("DropDownList5"); box14.DataSource = SIMBL.ShowSimpleUnitItemInfo(); box14.DataTextField = "Name"; box14.DataValueField = "Symbol"; box14.DataBind(); box14.Items.Insert(0, " "); } } SetPreviousData(); } private void SetPreviousData() { int rowIndex = 0; if (ViewState["currenttable"] != null) { DataTable dt = (DataTable)ViewState["currenttable"]; if (dt.Rows.Count &gt; 0) { for (int i = 0; i &lt; dt.Rows.Count - 1; i++) { TextBox box1 = (TextBox)GridView1.Rows[rowIndex].Cells[0].FindControl("TextBox6"); DropDownList box2 = (DropDownList)GridView1.Rows[rowIndex].Cells[1].FindControl("DropDownList1"); TextBox box3 = (TextBox)GridView1.Rows[rowIndex].Cells[2].FindControl("TextBox8"); TextBox box4 = (TextBox)GridView1.Rows[rowIndex].Cells[2].FindControl("TextBox9"); TextBox box5 = (TextBox)GridView1.Rows[rowIndex].Cells[2].FindControl("TextBox10"); TextBox box6 = (TextBox)GridView1.Rows[rowIndex].Cells[2].FindControl("TextBox11"); Label box7 = (Label)GridView1.Rows[rowIndex].Cells[3].FindControl("Label6"); TextBox box8 = (TextBox)GridView1.Rows[rowIndex].Cells[3].FindControl("TextBox13"); TextBox box9 = (TextBox)GridView1.Rows[rowIndex].Cells[3].FindControl("TextBox14"); TextBox box10 = (TextBox)GridView1.Rows[rowIndex].Cells[3].FindControl("TextBox15"); Label box11 = (Label)GridView1.Rows[rowIndex].Cells[4].FindControl("Label7"); DropDownList box12 = (DropDownList)GridView1.Rows[rowIndex].Cells[4].FindControl("DropDownList3"); DropDownList box13 = (DropDownList)GridView1.Rows[rowIndex].Cells[4].FindControl("DropDownList4"); DropDownList box14 = (DropDownList)GridView1.Rows[rowIndex].Cells[4].FindControl("DropDownList5"); Label box15 = (Label)GridView1.Rows[rowIndex].Cells[5].FindControl("Label8"); TextBox box16 = (TextBox)GridView1.Rows[rowIndex].Cells[5].FindControl("TextBox17"); TextBox box17 = (TextBox)GridView1.Rows[rowIndex].Cells[5].FindControl("TextBox18"); TextBox box18 = (TextBox)GridView1.Rows[rowIndex].Cells[5].FindControl("TextBox19"); Label box19 = (Label)GridView1.Rows[rowIndex].Cells[6].FindControl("Label9"); DropDownList box20 = (DropDownList)GridView1.Rows[rowIndex].Cells[6].FindControl("DropDownList7"); DropDownList box21 = (DropDownList)GridView1.Rows[rowIndex].Cells[6].FindControl("DropDownList8"); DropDownList box22 = (DropDownList)GridView1.Rows[rowIndex].Cells[6].FindControl("DropDownList9"); Label box23 = (Label)GridView1.Rows[rowIndex].Cells[7].FindControl("Label0"); TextBox box24 = (TextBox)GridView1.Rows[rowIndex].Cells[7].FindControl("TextBox21"); TextBox box25 = (TextBox)GridView1.Rows[rowIndex].Cells[7].FindControl("TextBox22"); TextBox box26 = (TextBox)GridView1.Rows[rowIndex].Cells[7].FindControl("TextBox23"); TextBox box27 = (TextBox)GridView1.FooterRow.Cells[7].FindControl("TextBox24"); box1.Text = dt.Rows[i]["S.No"].ToString(); box2.Text = dt.Rows[i]["Article No"].ToString(); if (Convert.ToString(dt.Rows[i]["Item Description"]).Trim() != "") { string[] strDesc = Convert.ToString(dt.Rows[i]["Item Description"]).Trim().Split(','); box3.Text = strDesc[0].ToString(); box4.Text = strDesc[1].ToString(); box5.Text = strDesc[2].ToString(); box6.Text = strDesc[3].ToString(); } if (Convert.ToString(dt.Rows[i]["Order Quantity"]).Trim() != "") { string[] strDesc = Convert.ToString(dt.Rows[i]["Order Quantity"]).Trim().Split(','); box8.Text = strDesc[0].ToString(); box9.Text = strDesc[1].ToString(); box10.Text = strDesc[2].ToString(); } if (Convert.ToString(dt.Rows[i]["UOM"]).Trim() != "") { string[] strDesc = Convert.ToString(dt.Rows[i]["UOM"]).Trim().Split(','); box12.Text = strDesc[0].ToString(); box13.Text = strDesc[1].ToString(); box14.Text = strDesc[2].ToString(); } if (Convert.ToString(dt.Rows[i]["Rate"]).Trim() != "") { string[] strDesc = Convert.ToString(dt.Rows[i]["Rate"]).Trim().Split(','); box16.Text = strDesc[0].ToString(); box17.Text = strDesc[1].ToString(); box18.Text = strDesc[2].ToString(); } if (Convert.ToString(dt.Rows[i]["Currency"]).Trim() != "") { string[] strDesc = Convert.ToString(dt.Rows[i]["Currency"]).Trim().Split(','); box20.Text = strDesc[0].ToString(); box21.Text = strDesc[1].ToString(); box22.Text = strDesc[2].ToString(); } if (Convert.ToString(dt.Rows[i]["Amount"]).Trim() != "") { string[] strDesc = Convert.ToString(dt.Rows[i]["Amount"]).Trim().Split(','); box24.Text = strDesc[0].ToString(); box25.Text = strDesc[1].ToString(); box26.Text = strDesc[2].ToString(); } rowIndex++; } } } } //DropDownList Selection Change.. protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { DataTable dt = (DataTable)ViewState["currenttable"]; for (int i = 0; i &lt;= dt.Rows.Count - 1; i++) { TextBox box3 = (TextBox)GridView1.Rows[i].Cells[2].FindControl("TextBox8"); DropDownList box2 = (DropDownList)GridView1.Rows[i].Cells[1].FindControl("DropDownList1"); box3.Text = box2.SelectedItem.Value; } } protected void DropDownList3_SelectedIndexChanged(object sender, EventArgs e) { DataTable dt = (DataTable)ViewState["currenttable"]; for (int i = 0; i &lt;= dt.Rows.Count - 1; i++) { DropDownList box12 = (DropDownList)GridView1.Rows[i].Cells[4].FindControl("DropDownList3"); box12.Text = box12.SelectedItem.Value; } } protected void DropDownList4_SelectedIndexChanged(object sender, EventArgs e) { DataTable dt = (DataTable)ViewState["currenttable"]; for (int i = 0; i &lt;= dt.Rows.Count - 1; i++) { DropDownList box13 = (DropDownList)GridView1.Rows[i].Cells[4].FindControl("DropDownList4"); box13.Text = box13.SelectedItem.Value; } } protected void DropDownList5_SelectedIndexChanged(object sender, EventArgs e) { DataTable dt = (DataTable)ViewState["currenttable"]; for (int i = 0; i &lt;= dt.Rows.Count - 1; i++) { DropDownList box14 = (DropDownList)GridView1.Rows[i].Cells[4].FindControl("DropDownList5"); box14.Text = box14.SelectedItem.Value; } } protected void DropDownList7_SelectedIndexChanged(object sender, EventArgs e) { DataTable dt = (DataTable)ViewState["currenttable"]; decimal a = 0.00M; for (int i = 0; i &lt;= dt.Rows.Count - 1; i++) { DropDownList box20 = (DropDownList)GridView1.Rows[i].Cells[6].FindControl("DropDownList7"); box20.Text = box20.SelectedItem.Value; TextBox box24 = (TextBox)GridView1.Rows[i].Cells[7].FindControl("TextBox21"); TextBox box16 = (TextBox)GridView1.Rows[i].Cells[5].FindControl("TextBox17"); TextBox box8 = (TextBox)GridView1.Rows[i].Cells[3].FindControl("TextBox13"); TextBox box27 = (TextBox)GridView1.FooterRow.Cells[7].FindControl("TextBox24"); box24.Text = (Convert.ToDecimal(box16.Text) * Convert.ToDecimal(box8.Text)).ToString(); if (a != null) { box27.Text = (a + Convert.ToDecimal(box24.Text)).ToString(); a = Convert.ToDecimal(box27.Text); } else { a = 0.00M; } } } protected void DropDownList8_SelectedIndexChanged(object sender, EventArgs e) { DataTable dt = (DataTable)ViewState["currenttable"]; decimal b = 0.00M; for (int i = 0; i &lt;= dt.Rows.Count - 1; i++) { DropDownList box21 = (DropDownList)GridView1.Rows[i].Cells[6].FindControl("DropDownList8"); box21.Text = box21.SelectedItem.Value; TextBox box25 = (TextBox)GridView1.Rows[i].Cells[7].FindControl("TextBox22"); TextBox box17 = (TextBox)GridView1.Rows[i].Cells[5].FindControl("TextBox18"); TextBox box9 = (TextBox)GridView1.Rows[i].Cells[3].FindControl("TextBox14"); TextBox box27 = (TextBox)GridView1.FooterRow.Cells[7].FindControl("TextBox24"); box25.Text = (Convert.ToDecimal(box17.Text) * Convert.ToDecimal(box9.Text)).ToString(); if (b != null) { box27.Text = (Convert.ToDecimal(box27.Text) + Convert.ToDecimal(box25.Text)).ToString(); b = Convert.ToDecimal(box27.Text); } else { b = 0.00M; } } } protected void DropDownList9_SelectedIndexChanged(object sender, EventArgs e) { DataTable dt = (DataTable)ViewState["currenttable"]; decimal c = 0.00M; for (int i = 0; i &lt;= dt.Rows.Count - 1; i++) { DropDownList box22 = (DropDownList)GridView1.Rows[i].Cells[6].FindControl("DropDownList9"); box22.Text = box22.SelectedItem.Value; TextBox box26 = (TextBox)GridView1.Rows[i].Cells[7].FindControl("TextBox23"); TextBox box18 = (TextBox)GridView1.Rows[i].Cells[5].FindControl("TextBox19"); TextBox box10 = (TextBox)GridView1.Rows[i].Cells[3].FindControl("TextBox15"); TextBox box27 = (TextBox)GridView1.FooterRow.Cells[7].FindControl("TextBox24"); box26.Text = (Convert.ToDecimal(box18.Text) * Convert.ToDecimal(box10.Text)).ToString(); if (c != null) { box27.Text = (Convert.ToDecimal(box27.Text) + Convert.ToDecimal(box26.Text)).ToString(); c = Convert.ToDecimal(box27.Text); } else { c = 0.00M; } } } //For Button Click... protected void Button1_Click1(object sender, EventArgs e) { addnewrow(); } </code></pre> <p>Here When I am entering the first row 3 "Amount" cell control in the row is working fine..here I can reduce the cell count values in the row.. when I am entering the next rows I need to enter more than cell count which is in previous row cell count.. otherwise I am getting a error like "Input string was not in correct format"..</p> <p>And the total also calculated based on the previous row cells.. If entering all the 3 cell values in every row means its working well.. if I am getting the error at the screen shot stage means it's calculating only 1'st cell values in all the rows..</p> <p>If i have 1'st row 3 values and 2'nd row 2 values means it's calculating the 2 cell values in the each previous rows.. Based on this manner it's working.. how to do this? anyone help me to solve this problem...</p> <p>Thanks in advance..</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload