Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Валидация datagridview / 9 сообщений из 9, страница 1 из 1
27.02.2017, 12:12
    #39410788
Benny Blanco
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация datagridview
Событие validating срабатывает только по переходу на другую ячейку. Мне нужно сдеать также, чтобы оно срабатывало по mouseleave грида. Какое наиболее правильное решение для этого. Мне на ум приходит только унаследовать от datagridview новый класс, в котором сделать доступным метод ProcessRightKey и его вызывать по mouseleave.
...
Рейтинг: 0 / 0
27.02.2017, 12:38
    #39410838
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация datagridview
Вы имеете ввиду DataGridView.CellValidating и DataGridView.CellLeave ?
...
Рейтинг: 0 / 0
27.02.2017, 13:30
    #39410885
Benny Blanco
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация datagridview
Cat2,

Да. Проблема в том, что можно просто мышь увести из грида, а мне нужно, чтобы все работало в той же манере как в dataerror.
...
Рейтинг: 0 / 0
27.02.2017, 16:28
    #39411048
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация datagridview
Benny BlancoCat2,

Да. Проблема в том, что можно просто мышь увести из грида, а мне нужно, чтобы все работало в той же манере как в dataerror.
Если в MoiseLeave сделать EndEdit

Код: c#
1.
2.
3.
4.
private void dgnTestDataGridView_MouseLeave(object sender, EventArgs e)
        {
            dgnTestDataGridView.EndEdit();
        }



то автоматически вызовется CellValidating.

Однако лично мне Ваша идея не нравится. Пользователь может вывести из ячейки мышь например для того, что что-то скопировать из окна другой программы, а в ячейке в это время будет невалидное значение.
...
Рейтинг: 0 / 0
27.02.2017, 20:09
    #39411217
Benny Blanco
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация datagridview
Не вызовется. EndEdit никак с валидацией не связан. Вызовется только если переприсвоить curentcell в унаследованном от dgw классе.
...
Рейтинг: 0 / 0
27.02.2017, 20:13
    #39411221
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация datagridview
Benny BlancoНе вызовется. EndEdit никак с валидацией не связан. Вызовется только если переприсвоить curentcell в унаследованном от dgw классе.
А Вы попробуйте. Опыт - критерий истины. Я не был уверен и попробовал
...
Рейтинг: 0 / 0
27.02.2017, 22:56
    #39411277
Benny Blanco
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация datagridview
Cat2,

Весь день сегодня пробовал. Не я один.
thread
...
Рейтинг: 0 / 0
28.02.2017, 12:01
    #39411482
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация datagridview
Benny Blanco,

У меня работает, в msdn работает

https://msdn.microsoft.com/ru-ru/library/ms158620(v=vs.110).aspx Метод DataGridView.EndEdit ()

This method calls the M:System.Windows.Forms.DataGridView.EndEdit(System.Windows.Forms.DataGridViewDataErrorContexts) overload, passing in a bitwise combination of the F:System.Windows.Forms.DataGridViewDataErrorContexts.Parsing and F:System.Windows.Forms.DataGridViewDataErrorContexts.Commit values.
This method raises the E:System.Windows.Forms.DataGridView.CellEndEdit event .
This method may result in an exception if errors are not handled with the E:System.Windows.Forms.DataGridView.DataError event.



Событие DataGridView.CellEndEdit т
...
Рейтинг: 0 / 0
28.02.2017, 12:15
    #39411500
Benny Blanco
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация datagridview
Cat2,

Я пишу о том, что событие validating не вызывается при вызове метода endedit. И никак ее не заставить вызываться, кроме как переприсвоив currentcell или вызвав processleftkey и им подобные.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Валидация datagridview / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]