编辑后应立即使用哪个dataGridView事件来更改textBox的内容?

时间:2012-10-29 15:50:43

标签: c#

我有一个带有2列的gridview,一个是名为“choose”的DataGridViewCheckBoxColumn,另一个是名为“ID”的普通DataGridViewTextBoxColumn ...我想在检查chechkbox列时立即更改文本框的文本....但我不知道应该使用哪个事件......

     void SetTextBox()
     { 
         TextBox1.Text="";
         for (int i = 0; i < MyGrid.Rows.Count; i++)
            if (Convert.ToBoolean(MyGrid.Rows[i].Cells["choose"].Value) == true)
            {                    
                TextBox1.Text += MyGrid.Rows[i].Cells["ID"].Value.ToString()+",";                   
            }
     }

     private void !!!!which Event?!!!!(object sender, EventArgs e)
     {
          SetTextBox();
     }

1 个答案:

答案 0 :(得分:1)

实际上你需要处理两件事。这是一个改编自我现在正在处理的代码的例子。

    private void dgvRMADetail_CurrentCellDirtyStateChanged(object sender, EventArgs e)
    {
        if (dgvRMADetail.CurrentCell is DataGridViewCheckBoxCell))
        {
            dgvRMADetail.CommitEdit(DataGridViewDataErrorContexts.Commit);
        }
    }

    private void dgvRMADetail_CellValueChanged(object sender, DataGridViewCellEventArgs e)
    {
        if (e.ColumnIndex == useRowCheckboxColumn.Index)
        {
           // Logic for doing whatever when the checkbox is checked.
        }
    }

第一个事件告诉它“当它发生变化时自动提交”,第二个事件是“当值被提交时,做一些事情。”