Как вызвать DataGridView CellEndEdit, когда значение ячейки изменяется программно - PullRequest
0 голосов
/ 26 марта 2020

У меня есть представление данных, которое обновляет базу данных по методу CellEndEdit. В ячейках столбцов биржевого кода, когда пользователь нажимает клавишу F10, открывается новый список, и пользователь может выбрать новый код. Значение моей ячейки datagridview обновляется, но CellEndEdit не запускается. Ранее я пытался обработать CellEndEdit всякий раз, когда пользователь нажимает F10 на этих ячейках, но это не удается (я считаю, что мои аргументы и т.д. c ужасно неверны). Я посмотрел на программную обработку события, но это не сработало. Мне было интересно, как я могу вызвать CellEndEdit внутри метода KeyDown.

    private void dataGridView2_KeyDown_1(object sender, KeyEventArgs e)
    {//F10 A BASILDIĞINDA EGER STOK KODU HUCRELERİNDEN BASILDIYSA STOK KODLARI AÇILIYOR
        if (e.KeyCode == Keys.F10)
        {
            int satir = dataGridView2.CurrentCell.RowIndex;
            int sutun = dataGridView2.CurrentCell.ColumnIndex;

            if (sutun == 7)
            {

                // dataGridView2[e.ColumnIndex, e.RowIndex] = STOKKODU0COMBOBOX;
                using (StokKoduListeForm stokkodulisteform = new StokKoduListeForm(secilenveritabani))
                {
                    stokkodulisteform.ShowDialog();
                    dataGridView2[sutun, satir].Value = (stokkodulisteform.stokkodugetir());


                }


            }}

Я пытался

  DataGridViewCellEventArgs a = new DataGridViewCellEventArgs(sutun, satir);
                   dataGridView2_CellEndEdit_1(dataGridView2, a);

Внутри использования, но он как-то показывает окно сообщения из другой формы.

1 Ответ

0 голосов
/ 26 марта 2020

Изменение значения ячейки не вызывает событие EndEdit. Вызов BeginEdit, а затем EndEdit может вызвать событие EndEdit. Пожалуйста, измените код, как показано ниже, и попробуйте.

using (StokKoduListeForm stokkodulisteform = new StokKoduListeForm(secilenveritabani))
        {
            dataGridView2.BeginEdit(true);
            stokkodulisteform.ShowDialog();
            dataGridView2[sutun, satir].Value = (stokkodulisteform.stokkodugetir());
            dataGridView2.EndEdit();

        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...