Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/88: Рейтинг темы: голосов - 88, средняя оценка - 4.66
1 / 1 / 0
Регистрация: 21.04.2012
Сообщений: 21

Завершение редактирования ячейки (строки) в DataGridView

21.04.2012, 16:57. Показов 18838. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне нужно программно завершить редактирование ячейки.

Такая ситуация:
Пользователь редактирует таблицу, ввел значения и в верхнем меню выбрал Файл - Сохранить
Данные из таблицы заносятся в массив, оттуда в Exel файл
Все бы хорошо, но только если начать редактировать одну ячейку и сразу нажать сохранить,
то она не сохраняется, т.к находится в режиме редактирования.

Использовал несколько способов завершения редактирования
такие как:
- dataGridView_kyrsi.EndEdit();
- Написал событие
C#
1
2
3
4
5
6
private void dataGridView_kyrsi_CellLeave(object sender, DataGridViewCellEventArgs e)
        {
            Validate();
            dataGridView_kyrsi.Update();
            dataGridView_kyrsi.EndEdit();
        }
вызвал его при нажатии сохранить, до занесения данных в массив.
Он завершает редактирование только если сначала ввели значение в одну ячейку, потом в другую,
при этом сохраняются оба значения ячеек, а если редактировать одну ячейку и сразу сохранить, то просто ни чего не происходит.

Проще говоря мне нужно выполнить завершение редактирования как при нажатии на клавишу Enter
Интересно посмотреть что выполняется при нажатии на Enter, какие действия?

На http://www.gotdotnet.ru
был пример:
C#
1
2
dataGrid.EndEdit(null, dataGrid.CurrentRowIndex, false); 
dataGrid.CurrentRowIndex = dataGrid.CurrentRowIndex;
только он не работает.



Перерыл кучу примеров, так и ни один из примеров не работает. Помогите
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.04.2012, 16:57
Ответы с готовыми решениями:

Программное завершение редактирование ячейки в DataGridView
Доброго времени суток, Господа. Подскажите пожалуйста, а как программно вызвать завершение редактирование ячейки в DataGridView? ...

Событие при завершении редактирования ячейки DataGridView
Мне удалось организовать перебор, нет ли в datagridview повторяющихся значений всего один столбец и 50 строк, но вот проблема, эсли...

Очистка DataGridView после окончания редактирования ячейки
Собственно нужно чтоб после редактирования ячейки все содержимое удалялось и заполнялось снова. Rows.Clear() и Columns.Clear() в...

4
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
21.04.2012, 17:13
Брекпоинты ставили? Посмотрите что происходит в пошаговом режиме
0
1 / 1 / 0
Регистрация: 21.04.2012
Сообщений: 21
21.04.2012, 17:23  [ТС]
Таблица у меня n - строк 3 столбца

Когда ввожу в первый столбец новой строки, значение, и нажимаю Сохранить, то на брейкпоинте программа не остановилась, скорее не дошла до него, хотя просто обязана там остановится. Короче говоря когда редактируется первая ячейка, она как то блокирует кнопку.


Мне нужно искусственно создать то же событие что происходит при нажатии на Enter
Ведь при нажатии на Enter - значение ячейки сохраняется и режим редактирования завершается (карандашик исчезает), мне нужно это произвести с ячейкой, прежде чем сохранить данные в массив
0
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
21.04.2012, 17:32
попробуйте не CellLeave, а LostFocus или это
C#
1
2
3
 Validate();
 dataGridView_kyrsi.Update();
 dataGridView_kyrsi.EndEdit();
делать в оброботчике кнопки save
3
1 / 1 / 0
Регистрация: 21.04.2012
Сообщений: 21
21.04.2012, 17:42  [ТС]
Помогло, спасибо)
Написал в обработчике кнопки до условий, а до этого писал в условии (если значения в ячейки изменились то выполнить обновление в массив) и так как первая ячейка не выходила из редактирования, то значение переменной отвечающее за обновление не изменилось. Понял в чем ошибка, надо использовать другое событие.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.04.2012, 17:42
Помогаю со студенческими работами здесь

QListWidget отследить завершение редактирования строки
Как можно отловить событие завершения редактирования строки в QListWidget? (нажатие кнопки enter или потеря фокуса). хотел сделать через...

DataGridView - выделение ячейки без возможности редактирования
Привет всем! Суть вопросу уже в заголовке. Вобщем все настройки грида уже перепробовал. Суть в том что в грид загружаются данные из базы и...

Cut, Copy, Paste, Select All в режиме редактирования ячейки DataGridView
Подскажите, возможно ли это реализовать. Своё ContextMenuStrip1 в режиме редактирования ячейки у меня работает. Есть такое решение: ...

Принудительная синхронизация коллекции и DataGrid в момент редактирования ячейки, а не при потере фокуса строки
Есть dg, элементы которого прибиндины к элементам коллекции. Если редактировать ячейку dg, то значение элемента в коллекции происходит при...

DataGridView - выделение строки и ячейки
Как в DataGridView организовать выделение строки и ячейки одновременно


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru