我需要在检查/取消选中数据网格上的复选框时执行代码,这样做不用多了。
所以我有:
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
txtCCs.Text = String.Empty;
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (Convert.ToBoolean(row.Cells[CC.Name].Value) == true)
{
txtCCs.Text += row.Cells[3].Value.ToString().Trim() + ", ";
}
}
}
哪个适用于一个新的裸项目,但是我的实际项目,它运行但没有看到更改的值。因此,如果我单击1框,没有任何反应,单击另一个,它现在可以看到第一个被选中,但是错过了被点击的那个触发它。即使我的代码中有CommitEdit。
编辑:我完全删除了CellContentClick代码并删除了该功能,现在它可以工作了。不知道问题是什么,因为它仍然会运行,只是没有做commitEdit。
答案 0 :(得分:0)
您需要先提交编辑:
void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) {
dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
txtCCs.Text = String.Empty;
foreach (DataGridViewRow row in dataGridView1.Rows) {
if (Convert.ToBoolean(row.Cells[CC.Name].Value) == true) {
txtCCs.Text += row.Cells[3].Value.ToString().Trim() + ", ";
}
}
}