2

私は2列のグリッドビューを持っています.1つは「choose」という名前のDataGridViewCheckBoxColumnで、もう1つは「ID」という名前の通常のDataGridViewTextBoxColumnです...チェックボックス列のチェックが変更されたときにすぐにテキストボックスのテキストを変更したい... .しかし、どのイベントを使用すればよいかわかりません....

     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();
     }
4

1 に答える 1

1

実際には、対処する必要があるイベントが 2 つあります。これは、私が現在取り組んでいるコードから適応された例です。

    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.
        }
    }

最初のイベントは「変更時にこれを自動的にコミットする」ことを伝え、2 番目のイベントは「値がコミットされたときに何かを行う」ことを示します。

于 2012-10-29T16:00:02.877 に答える