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

Как реализовать удаление строки в DataGridView?

06.02.2015, 21:32. Показов 44129. Ответов 26
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
как мне сделать возможность удаления строк? единственное что смог придумать это сделать кнопку "удалить" и рядом текстбокс с номером удаляемой строки, но имхо это как то тупо и так не делают... как сделать красивее?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.02.2015, 21:32
Ответы с готовыми решениями:

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

Как реализовать удаление/изменение строки из ListBox
Есть ListBox и кнопка "удалить" как удалить строку из ListBox1 нажатием кнопки ?

Как реализовать удаление строки по истечении времени в SQLite?
БД содержит информацию о клиентах платной автостоянки (ФИО, телефон, номер машины, время стоянки в...

Удаление Строки из DataGridView
Проблема заключается в следующем я написал код но он почему-то удаляет только первую строку при...

26
91 / 91 / 44
Регистрация: 20.04.2008
Сообщений: 331
06.02.2015, 21:40 2
Удаляй выделенную строчку, либо по кнопке на форме,либо по горячей клавише
1
Заблокирован
06.02.2015, 21:47  [ТС] 3
Цитата Сообщение от off Посмотреть сообщение
Удаляй выделенную строчку, либо по кнопке на форме,либо по горячей клавише
а как ее выделить?
0
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
06.02.2015, 21:57 4
Цитата Сообщение от Feaban Посмотреть сообщение
а как ее выделить?
В коде dataGridView.CurrentRow, а после запуска формы - щелчком мыши.
0
Заблокирован
06.02.2015, 22:00  [ТС] 5
Цитата Сообщение от chumich Посмотреть сообщение
В коде dataGridView.CurrentRow, а после запуска формы - щелчком мыши.
мне именно как выделить в запущенном виде? не выделяется мышью, точнее выделяется, но не все ячейки
0
Эксперт .NET
5545 / 4308 / 1218
Регистрация: 12.10.2013
Сообщений: 12,356
Записей в блоге: 2
06.02.2015, 22:07 6
Цитата Сообщение от Feaban Посмотреть сообщение
выделяется, но не все ячейки
У грида в свойствах посмотрите, есть свойство, отвечающие за то, как выделяется строка (отдельными ячейками или всей строкой).
0
Заблокирован
06.02.2015, 22:18  [ТС] 7
Цитата Сообщение от insite2012 Посмотреть сообщение
У грида в свойствах посмотрите, есть свойство, отвечающие за то, как выделяется строка (отдельными ячейками или всей строкой).
там действительно есть свойство SelectionMode, но допустим я устанавливаю если его в FullRowSelect, то у меня при редактировании ячейки вся строка синяя, мне это не нужно... мне нужно просто чтоб можно было нормально выделять и удалять строки
0
91 / 91 / 44
Регистрация: 20.04.2008
Сообщений: 331
06.02.2015, 22:56 8
нормально это как?
0
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
06.02.2015, 22:57 9
Цитата Сообщение от Feaban Посмотреть сообщение
мне нужно просто чтоб можно было нормально выделять и удалять строки
Вам уже сказали как это сделать. Неважно сколько ячеек у вас выделено. При выделении одной - вся строка считается текущей. Нужно было просто попробовать. Вот код:
C#
1
2
3
4
5
        private void button1_Click(object sender, EventArgs e)
        {
            int a = dataGridView1.CurrentRow.Index;
            dataGridView1.Rows.Remove(dataGridView1.Rows[a]);
        }
Щелкаете по любой ячейке строки, которую хотите удалить и нажимаете кнопку. Строка удаляется.
2
Заблокирован
06.02.2015, 23:00  [ТС] 10
Цитата Сообщение от chumich Посмотреть сообщение
Вам уже сказали как это сделать. Неважно сколько ячеек у вас выделено. При выделении одной - вся строка считается текущей.
да нет же, у меня просто EditMode стоит EditOnEnter, поэтому если я попытаюсь например delete нажимать то будут просто символы в ячейке удаляться
0
91 / 91 / 44
Регистрация: 20.04.2008
Сообщений: 331
06.02.2015, 23:05 11
тогда не нажимайте delete, а делайте как говорит chumich
И вообще зачем удалять строки из грида, вместо того, чтоб удалять объекты коллекции, которую этот грид отображает?
0
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
06.02.2015, 23:09 12
Цитата Сообщение от off Посмотреть сообщение
тогда не нажимайте delete,
Действительно: зачем нажимать delete, если есть кнопка на форме?
0
Заблокирован
06.02.2015, 23:13  [ТС] 13
погодите, допустим я поставил EditMode обратно в EditOnKeystrokeOrF2, но при нажатии delete на выделенной ячейке она не удаляется !!! или это надо самому прописывать в обработчике OnKeyPress? если да, я вот тут пытаюсь сейчас это сделать как раз, как мне нормально сравнить клавишу? я делаю так:
C#
1
if (Keys.Delete.ToString()[0] == e.KeyChar)
но наверное надо как то проще...

Цитата Сообщение от off Посмотреть сообщение
И вообще зачем удалять строки из грида, вместо того, чтоб удалять объекты коллекции, которую этот грид отображает?
что что?
0
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
06.02.2015, 23:14 14
Вот вам проект, там тоже стоит EditOnEnter. И всё прекрасно удаляется. Запустите, заполните данными пару строк и нажмите кнопку на форме.

вложенияWindowsFormsApplication30.rar
1
Заблокирован
06.02.2015, 23:19  [ТС] 15
Цитата Сообщение от chumich Посмотреть сообщение
Вот вам проект, там тоже стоит EditOnEnter. И всё прекрасно удаляется. Запустите, заполните данными пару строк и нажмите кнопку на форме.
да я не хочу по кнопке удалять, я хочу по нажатию delete
0
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
06.02.2015, 23:19 16
Цитата Сообщение от Feaban Посмотреть сообщение
единственное что смог придумать это сделать кнопку "удалить" и рядом текстбокс с номером удаляемой строки
Вообще изначально всё пошло от этого. И вам сказали как можно убрать текстбокс с номером ячейки. Чтобы было "красиво" и "как все делают". Вы же упорно пытаетесь говорить о клавиатуре, которую никто не подразумевал, вместо того, чтобы применить простое и естественное решение.
0
Заблокирован
06.02.2015, 23:25  [ТС] 17
почему у меня не удаляется??? я написал
C#
1
2
3
4
5
6
7
private void Grid_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == (char)Keys.Delete)
    {
        Grid.Rows.Remove(Grid.CurrentRow);
    }
}
Добавлено через 14 секунд
но у меня просто не заходит в это событие
0
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
06.02.2015, 23:27 18
Цитата Сообщение от Feaban Посмотреть сообщение
почему у меня не удаляется???
Карма
0
Заблокирован
06.02.2015, 23:39  [ТС] 19
Цитата Сообщение от chumich Посмотреть сообщение
Карма
ну блин серьезно

Добавлено через 8 минут
и еще мне надо чтобы в одном столбце выводились номера строк по порядку и удалялись соответственно (даже если из центра удаляешь строку чтобы все номера смещались), это можно как то просто сделать или только в события удаления / добавления строк шаманить?
0
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
06.02.2015, 23:51 20
Лучший ответ Сообщение было отмечено Feaban как решение

Решение

Цитата Сообщение от Feaban Посмотреть сообщение
ну блин серьезно
C#
1
2
3
4
5
6
7
        private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
        {
            if (Control.ModifierKeys == Keys.Delete)
            {
                int a = dataGridView1.CurrentRow.Index;
                dataGridView1.Rows.Remove(dataGridView1.Rows[a]);
            }
Только поставьте EditMode в EditOnKeystrokeOrF2 и выделяйте не ячейку, а строку, щелкнув слева по стрелке на полях.

Добавлено через 11 минут
Цитата Сообщение от Feaban Посмотреть сообщение
и еще мне надо чтобы в одном столбце выводились номера строк
Вопрос в том, кому это здесь нужно . Второй час уже пошел, и такое впечатление, что мы в ресторане: тут мясо не слева, а справа от картошки положить надо было, тут устрицы красные, а я зеленые хочу... Но, там хоть работа такая у официантов, чаевые опять же бывают... А нам то зачем такое "удовольствие"?
1
06.02.2015, 23:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.02.2015, 23:51
Помогаю со студенческими работами здесь

Удаление строки из БД и datagridview
Людииии,помогите на форме грид и кнопка на удаление строки из грида и соответственно из бд.Пока...

Удаление строки в DataGridView и в БД
Всем привет. Подскажите пожалуйста, как можно удалить выбранную строку в DataGridView и в БД? БД у...

Удаление строки из DataGridView и БД
Доброго времени суток! Есть проблемка в том, что код срабатывает, но удаляет все строки из БД и...

Удаление строки из DataGridView
помогите пожалуйста сделать кнопку удаления строки из datagridview который подключенный к базе...


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

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