Question

I am trying to add values in table rows on button click. It's working on database but not working on web page. It override on last row on page.

How can I generate new row on every button click.

here is my button click code--

protected void Page_Load(object sender, EventArgs e)
{
    tblAdd.Visible = false;
    Label1.Visible = false;

    //Label2.Visible = false;


}

protected void btnSave_Click(object sender, EventArgs e)
{
    int count = 1;
    if (Page.IsValid)
    {

        TableRow NewRow1 = new TableRow();

        //1st cell
        TableCell NewCell1 = new TableCell();

        //new checkbox
        CheckBox newCheckBox1 = new CheckBox();


        // adding lebel into cell
        NewCell1.Controls.Add(newCheckBox1);

        // adding cells to row
        NewRow1.Cells.Add(NewCell1);

        //2ed cell
        TableCell NewCell2 = new TableCell();

        Label newLabel1 = new Label();
        count = count + 1;
        newLabel1.Text = txtName.Text;
        newLabel1.ID = "label" + count;

        NewCell2.Controls.Add(newLabel1);
        NewRow1.Cells.Add(NewCell2);

        //adding row into table
        tblLanguages.Rows.Add(NewRow1);

        btnAdd.Visible = true;
        btnDelete.Visible = true;
        Label2.Visible = true;
        Label2.Text = "Successfully Added";
        add();
    }
    txtName.Text = "";
}

public int add()
{
    string strcon = ConfigurationManager.ConnectionStrings["Dbconnection"].ConnectionString;
    SqlConnection sqlConnection = new SqlConnection(strcon);

    SqlCommand command = new SqlCommand("hrm_AddLanguages", sqlConnection);
    command.CommandType = CommandType.StoredProcedure;
    command.Parameters.Add("@Name", SqlDbType.VarChar).Value = txtName.Text;
    command.Parameters.Add("@CreatedOn", SqlDbType.DateTime).Value = DateTime.Now;
    command.Parameters.Add("@UpdatedOn", SqlDbType.DateTime).Value = DateTime.Now;
    command.Parameters.Add("@CreatedBy", SqlDbType.BigInt).Value = 1;
    command.Parameters.Add("@UpdatedBy", SqlDbType.BigInt).Value = 1;
    command.Parameters.Add("@IsDeleted", SqlDbType.Bit).Value = 0;
    sqlConnection.Open();
    return command.ExecuteNonQuery();
}

Please Help me.

Was it helpful?

Solution

If possible try to do this using Grid view. It is better to use grid view instead of table.

Check out below link. It will help you to find your solution.

DataTable in ASP.Net Session

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top