Reputation: 630
I want to check a check-box which is inside Gridview programmatic on click of a button
Upvotes: 0
Views: 3718
Reputation: 630
This worked for me:
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
{
dataGridView1.Rows[i].DataGridView[0, i].Value = false;
}
Upvotes: 0
Reputation: 38230
If you know the location of the cell then you can set it as
datagridview1[0,2].Value = true;// this should be a checkboxcolumn
OR
datagridview1["chkboxcolumnName",2].Value = true;
This will cause the checkbox to be checked for that particular cell.
Hope this is what you meant else please edit the question for more details.
Upvotes: 1
Reputation: 4546
Try it this way (by subscribing to two events):
void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
if (dataGridView1.IsCurrentCellDirty)
dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
private void dataGridView1_CellValueChanged(object obj, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 1) //compare to checkBox column index
{
DataGridViewCheckBoxCell cbx = (DataGridViewCheckBoxCell)dataGridView1[e.ColumnIndex, e.RowIndex];
if (!DBNull.Value.Equals(cbx.Value) && (bool)cbx.Value == true)
{
//checkBox is checked - do the code in here!
}
else
{
//if checkBox is NOT checked (unchecked)
}
}
}
Upvotes: 0