Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
25 / 24 / 13
Регистрация: 04.07.2012
Сообщений: 463
1
.NET 4.x

Удаление строки из DataGridView: удаляется строка находящееся выше нужной

22.09.2012, 19:01. Показов 2449. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Все привет!!!!
Из DataGridView плдключенном к Access удаляю строку вот этим способом.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
private void DeleteItem() 
        {
            try
            {
                var result = MessageBox.Show("Вы подтверждаете удаление?", "Удалить", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (result == DialogResult.Yes)
                {
                    object idDataGridViewTextBoxColumn1 = dataGridView1.CurrentRow.Cells["idDataGridViewTextBoxColumn"].Value;
                DataRow currentRow = meterDataSet.Tables["meter"].Rows.Find(idDataGridViewTextBoxColumn);
                currentRow.Delete();
                }
                else
                    MessageBox.Show("Оерация удаления прервана", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch
            {
                MessageBox.Show("Невозможно удаление пустой строки!", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Вопрос в следующем, при открытии формы удаляю строку, но удаляется строка находящееся выше нужной и затем появляется MessageBox.
А после добавления строки в таблицу удаляется строка, как надо. Помогите разобраться почему так происходит
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2012, 19:01
Ответы с готовыми решениями:

Почему не удаляется единственная строка из DataGridView?
Объясните почему я не могу удалить методом this->dataGridView1->Rows->RemoveAt(0) единственную ...

Строка удаляется только из DataGridView, но в БД (.mdb) остаётся
Добрый вечер! Знаю, что уже не раз задавался вопрос, но все равно никак не могу понять: как...

Удаляется следующая строка при удалении из dataGridView
Привет! Удаляю строку из dataGridView, но удаляется следующая строка. id присваивается следующей...

MVC и удаление нужной строки
Здравствуйте. При загрузке отображения генерируется табличка с пользователями, которые ждут...

5
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
22.09.2012, 19:05 2
что то с вашим каунтером не так
idDataGridViewTextBoxColumn

Наверное сбивается в коде где-то или вы не учли что счет начинается с 0,а не с 1
0
25 / 24 / 13
Регистрация: 04.07.2012
Сообщений: 463
22.09.2012, 19:19  [ТС] 3
Интересно, что с ним тогда, если после добавления все работает ОК
0
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
04.12.2012, 10:13 4
Надо проще писать код:
C#
1
2
3
4
5
6
7
8
9
10
private void DeleteItem()
{
    if(dataGridView1.CurrentRow != null)
        if(MessageBox.Show("Вы подтверждаете удаление?", "Удалить", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            ((DataRowView)dataGridView1.CurrentRow.DataBoundItem).Delete();
        else
            MessageBox.Show("Оерация удаления прервана", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Error);
    else
        MessageBox.Show("Невозможно удаление пустой строки!", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
Таким образом удалится именно та строка данных, которая привязана к текущей строке DataGridView. Вы же решили проигнорировать все существующие связи между объектам (можно было то же самое сделать и через BindingContext) и сделать удаление через жопу поиск строки в DataTable, соответствующей текстовому полю в DataGridView.
1
0 / 0 / 0
Регистрация: 15.02.2015
Сообщений: 3
15.02.2015, 19:38 5
а как сделать так, чтобы удаление в базе сохранялось?
0
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
17.02.2015, 14:23 6
JustM, Есть много вариантов. Можно попробовать через DataAdapter.Update.
0
17.02.2015, 14:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2015, 14:23
Помогаю со студенческими работами здесь

Удаление нужной строки из БД через форму
Есть таблица, там студенты, на против каждого студента есть кнопка "Изменить". Как реализовать так,...

Удаление слова из строки - удаляется только первое вхождение
люди, помогите доработать программу. Она удаляет только первое вхождение слова в строку а дальше не...

Как запретить удаление строки в DataGridView, если пользователь не выбрал ни одной строки?
Здравствуйте! У меня есть datagridview и кнопка удаления записи на форме. Данные в datagridview...

Добавить строку выше нужной
Здравствуйте. Подскажите можно ли создать Bat , или ps1 файл, который будет делать следующее:...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru