Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> datagridview проверка ввода, проверка корректности введённого значени 
:(
    Опции темы
igluk
Дата 5.5.2011, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 18.1.2010

Репутация: нет
Всего: нет



Мне нужно после изменения ячейки, проверить, заполнили её или нет, и если заполнили, то какое значение, при желании сравнить, а главное, если что не так, сказать об этом пользователю и вернуть ячейку в режим редактирования обратно. Делаю это так:

Код

        private void dataGridViewFakultys_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            dataGridViewFakultys.CurrentCell.Selected = false;
            dataGridViewFakultys.CurrentCell = dataGridViewFakultys.Rows[e.RowIndex].Cells[e.ColumnIndex];
            if (e != null)
            {
                if ((dataGridViewFakultys.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == null) || (dataGridViewFakultys.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == ""))
                {
                    dataGridViewFakultys.BeginEdit(true);
                }
                else
                {
                 //ещё какие-то проверки
                 }
            }
        }


Но при этом, например если мы находимся в режиме редактирования, делаем заведомо неправильное значения ячейки и после этого тыкаем в другую ячейку, то значение в той, которую тыкнули исчезает или происходит ещё какая-нибудь нездравая хрень. Не знаю, как сделать.
Пробовал событие cellendedit, там тоже с багами получается: при вызове метода BeginEdit(true) ячейка в режим редактирования не возвращаеся по непонятным мне причинам.

Подскажите, как реализовать описанное выше, в сабже.
PM MAIL   Вверх
-Mikle-
Дата 5.5.2011, 06:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 4
Всего: 59



Уже не помню как тут надо, но попробуй в событии Validating.
Код

private void dataGridView1_Validating(object sender, CancelEventArgs e)
{
    // e.Cancel = true; чтобы отменить
}


BeginEdit, по идее, не надо тут вызывать, достаточно отменить.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0838 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.