在DATAGRIDVIEW內的CHECKBOX勾選時取消勾選
1.在DATAGRIDVIEW上加入兩個事件
CellValueChanged以及CurrentCellDirtyStateChanged
2. 在CurrentCellDirtyStateChanged裡加入以下程式碼
if (this.dataGridView1.IsCurrentCellDirty) //有未提交的更//改
{
this.dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
3. 在CellValueChanged事件里加入以下程式碼
DataGridViewCheckBoxCell dgvCheckBoxCell = null;
if (this.dataGridView1.Columns[e.ColumnIndex].Name.Equals("選取"))
//我的CHECKBOX欄位名稱為選取
{
dgvCheckBoxCell = this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex] as DataGridViewCheckBoxCell;/取得checkbox的ROW欄位
}
if (dgvCheckBoxCell.Value.ToString() == "True")
//以下程式碼會將CHECKBOX從勾選變成未勾選
{
DataGridViewCheckBoxCell cell = dataGridView1.Rows[e.RowIndex].Cells["選取"] as DataGridViewCheckBoxCell;
cell.EditingCellFormattedValue = false;
cell.EditingCellValueChanged = true;
cell.Value = cell.EditingCellFormattedValue;
return;
}
很有用,謝了!
回覆刪除