简体   繁体   中英

Add checkbox with CheckedChanged Event to a Dynamic GridView

I want to dynamically add a checkbox to a dynamic GridView along with an Event.

ie For the grid I have to add check boxes dynamically checked or unchecked according to the Database. And by clicking the checkbox itself I want to update the database.

For this I need the Event to also be dynamically loaded along with the checkbox.

What I have completed is a static version and is exhibited here:

In database RoleID(Admin,Purchase Officer etc), ActivityID(Leave application etc) and OperationID(Save,Edit Etc) are stored.

First row implies for Admin(roleid 1) Save operation(OperationID 1) is allowed for activity Leave application(Activityid 3).

I'm sorry, follow this

Place a check box in gridview

this is an example HTML Code to declare a checkbox in gridview

               <asp:TemplateField HeaderText="chkbox">
                   <ItemTemplate>
                       <asp:CheckBox ID="CheckBox1" runat="server"  AutoPostBack="true"
                           oncheckedchanged="CheckBox1_CheckedChanged"  />
                   </ItemTemplate>
               </asp:TemplateField>

Now about the event for the checkbox

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
   GridViewRow row = ((GridViewRow)((CheckBox)sender).NamingContainer);
    int index = row.RowIndex;
    CheckBox cb1 = (CheckBox)Gridview.Rows[index].FindControl("CheckBox1");
    string checkboxstatus;
    if (cb1.Checked == true)
        checkboxstatus = "YES";
    else if(cb1.Checked == false)
        checkboxstatus = "NO";

    //Here Write the code to connect to your database and update the status by 
    //sending the checkboxstatus as variable and update in the database.
}

if you are adding checkboxes at runtime, when you add checkbox, the checkbox event needs to be defined.

For example :

    TableCell tcCheckCell = new TableCell();
    var checkBox = new CheckBox();
    checkBox.CheckedChanged += checkBox_CheckedChanged;
    tcCheckCell.Controls.Add(checkBox);
    gridView.Rows[0].Cells.AddAt(0, tcCheckCell);

    void checkBox_CheckedChanged(object sender, EventArgs e)
    {
        //do something: You can use Krishna Thota's Code.
    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM