2

DatagridViewには、2つの列がComboxboxColumnありTextboxColumnます。コンボボックスで選択されたインデックスが変更されたときにテキストボックスの値を変更したい(通常、コンボボックスではインデックス変更イベントが選択されていますが、datagridviewComboBoxありません)

4

1 に答える 1

4

これらの2つの簡単なメソッドを試してみてください(一番上のメソッドの「1」はコンボボックス列のインデックスです)

cel.Value =変更する行は、好きなように変更できるため、セッター行になります。


    private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
    {
        if (dataGridView1.CurrentCell.ColumnIndex == 1 && e.Control is ComboBox)
        {
            ComboBox comboBox = e.Control as ComboBox;
            comboBox.SelectedIndexChanged += LastColumnComboSelectionChanged;
        }
    }

    private void LastColumnComboSelectionChanged(object sender, EventArgs e)
    {
        var currentcell = dataGridView1.CurrentCellAddress;
        var sendingCB = sender as DataGridViewComboBoxEditingControl;
        DataGridViewTextBoxCell cel = (DataGridViewTextBoxCell)dataGridView1.Rows[currentcell.Y].Cells[0];
        cel.Value = sendingCB.EditingControlFormattedValue.ToString();
    }

ここに画像の説明を入力してください

于 2012-06-30T21:15:46.640 に答える