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

Обнуление ячейки DataGridView

03.06.2018, 20:51. Показов 3262. Ответов 1

Студворк — интернет-сервис помощи студентам
Здравствуйте. Сразу извиняюсь за, возможно, ламерский вопрос.
На форме есть DataGridView с именем dgvMatrix. Данные из него дублируются в массив MasMatrix. Во избежание падения программы, в обработчике события CellParsing был применён try-catch:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void dgvMatrix_CellParsing(object sender, DataGridViewCellParsingEventArgs e)
{
try
{
Row_c = e.RowIndex;
Column_c = e.ColumnIndex;
MasMatrix[Row_c, Column_c] = Convert.ToInt32(e.Value);
}
catch (FormatException)
{
ОбнулитьВыбраннуюЯчейкуToolStripMenuItem_Click(sender, e);
MessageBox.Show("Ошибка: пустые ячейки не допускаются!");
 
}
}
В момент выбрасывания исключения FormatException в ответ на пустую ячейку, программа должна сымитировать нажатие на кнопку "Обнулить выбранную ячейку", её код:
C#
1
2
3
4
5
6
7
8
9
10
11
private void ОбнулитьВыбраннуюЯчейкуToolStripMenuItem_Click(object sender, EventArgs e)
{
for (i = 0; i < m; i++)
{
for (j = 0; j < m; j++)
{
dgvMatrix.CurrentCell.Value = 0;
MasMatrix[i, j] = Convert.ToDouble(dgvMatrix.Rows[i].Cells[j].Value);
}
}
}
Что она собственно и делает. Но проблема в том, что в массив ноль записывается, а вот в ячейке DataGridView остаётся пустое значение. При этом же, если просто нажать на кнопку обнуления ячейки, то всё работает корректно.
Попытки присвоить ноль без обращения к сторонней кнопке дают ровно тот же результат - в ячейке массива ноль, в ячейке dgv - пустота.

Добавлено через 1 час 26 минут
Сам решил, воспользовавшись обработчиком CellValidating:
C#
1
2
3
4
5
6
7
8
        private void dgvMatrix_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
        {
            if (string.IsNullOrEmpty(e.FormattedValue.ToString()))
            {
                MessageBox.Show("Ошибка: пустые ячейки не допускаются!");
                dgvMatrix.CancelEdit();
            }
        }
При попытке присвоить пустое значение ячейке, её значение не обнуляется, а отменяются изменения, сделанные в режиме редактирования.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.06.2018, 20:51
Ответы с готовыми решениями:

Изменение содержимого одной ячейки Datagridview после изменения другой ячейки
Здравствуйте. Есть Datagridview с 2 столбцами. Столбцы типа ComboBox. В 1 столбце уже забиты значения, 2 столбец пустой. Необходимо сделать...

Форматирование ячейки в dataGridView. Как поменять цвет определенной ячейки
Хочу поменять цвет выбранной ячейки, так что бы когда при выбраной строки цвет ячейки оставался таким же. Пример: Что бы дата...

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

1
549 / 480 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
03.06.2018, 22:10
Всего 1 строчка кода. Почему не искать самое простое решение?

C#
1
2
3
4
5
6
7
Forms Code
{  
        private void button1_Click(object sender, EventArgs e)
        {
           dataGridView1.Rows[1].Cells[2].Value = 0;
         }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.06.2018, 22:10
Помогаю со студенческими работами здесь

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

SelectChange внутри ячейки DataGridView. Вернуть Выделенный текст внутри редактируемой ячейки
Собсна, пишу HexEditor на основе таблицы в WindowsForm. Сколько не бился, MSDN говорит, что DataGridView не имеет событий на...

Обнуление ячейки в MySql
Кто нибудь знает как можно обнулять раз в сутки одну ячейку int в таблице, для всех записей в MySql?

Автодата. Обнуление ячейки с датой по условию
Всем добрый день! Небольшая просьба к знатокам VBA. Есть данный макрос на проставление автодаты при изменении значений ячеек в указанном...

Индекс выбранной ячейки DataGridView при смене ячейки через Tab
Добрый день, Коллеги! Подскажите, как получить индекс ячейки в DataGridWiew, находящейся в фокусе (выбранной ячейки) при переходе по...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru