asp.net gridview checkbox selection

前端 未结 2 1620
[愿得一人]
[愿得一人] 2020-12-29 14:37

Need some help to solve this.

I have a gridview and inside the gridview I have a checkbox and after clicking the checkbox, I am doing a postback event and trying to

相关标签:
2条回答
  • 2020-12-29 14:49

    Try this also if above not working exactly

    DataTable dtGetStTable = (DataTable)ViewState["dtNewStudents"];
    
    //Looping throgh Grid and deleting row after finding the checked row
    for (int i = dtGetStTable.Rows.Count - 1; i > -1; i--)
    {
    GridViewRow row = GridView1.Rows[i];
    bool isChecked = ((CheckBox)row.FindControl("CheckBox1")).Checked;
    
    if (isChecked)
    {
        try
        {
            string RollNo = dtGetStTable.Rows[i]["RollNo"].ToString();
            string Class = dtGetStTable.Rows[i]["Class"].ToString();
            string Division = dtGetStTable.Rows[i]["Division"].ToString();
            //Deleting the Reocrd from DataBase
            TotalRecordDeleted += objSRE.DeleteTheSelectedRecord(RollNo, Class, Division);
    
            dtGetStTable.Rows[i].Delete();
            dtGetStTable.AcceptChanges();
        }
        catch (Exception ex)
        {
    
            //throw;
        }
    }
    

    }

    0 讨论(0)
  • 2020-12-29 14:52

    Try this:

    CheckBox chkBx = sender as CheckBox;
    

    Rather than iterate all the rows.

    I haven't used CheckBox's in a GridView in this way myself. Usually I would use the GridView's OnRowCommand event instead and use the RowIndex or CommandArgument value to update the database.

    Thinking about it OnRowcommand could be tricky for a CheckBox to fire, a better solution might be sticking with the CheckChanged event of the checkbox and navigate up to the GridViewRow serverside using controls NamingContainer. Something like:

    GridViewRow row = chkBx.NamingContainer as GridViewRow;
    

    I'm assuming the goes CheckBox => Cell => Row if you Google ASP.NET NamingContainer you'll get some more specifics.

    0 讨论(0)
提交回复
热议问题