Проверка DataGridView не работает - PullRequest
0 голосов
/ 27 декабря 2011

У меня проблема с проверкой ячейки dataGridView.Все работает нормально, если я не нажму кнопку (кнопка «Сохранить данные»), которая находится за пределами dataGridView (dataGridView теряет фокус, а до подтверждения нажимается кнопка).

Что мне нужно, так этоэта кнопка (и все другие элементы управления, включая tabControl) не могут быть сфокусированы и нажиматься до тех пор, пока значение в ячейке DataGridView не будет подтверждено.Может кто-нибудь помочь, пожалуйста?

Ниже приведен пример кода

private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
    {
        if (e.ColumnIndex > 0) // I only validate columns 1,2,3....
        {
            try
            {
                dataGridView1.CurrentCell.Value = Convert.ToDouble(e.FormattedValue);
            }
            catch (Exception ex)
            {
                dataGridView1.CancelEdit();
                System.Media.SystemSounds.Hand.Play();
                e.Cancel = true;
            }

        }
    }

1 Ответ

0 голосов
/ 27 декабря 2011

Отключите эту кнопку сохранения в этом коде, а затем включите ее снова, когда проверка закончится.Покажите полосу прогессов или строку состояния, чтобы обозначить, что происходит постобработка данных.Сосредоточьте представление данных все время, пока идет обработка.Вы можете сделать это, имея флаг (флаг bool) и устанавливая его в значение true, когда это происходит, и при перемещении мыши и нажатии клавиши вы можете проверить это и сохранить фокус на самом виде данных.

...