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

Удаление всех данных из DataGridView

10.03.2011, 09:46. Показов 23898. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть заполненная данными DataGridView. Как удалить (по кнопке) все эти данные? Т.е. не выбранную строку по CurrentRow, а именно обнулить всю таблицу? Пыталась так, но выдается резонная ошибка, мол нет текушей строки. Спасибо
C#
1
2
3
4
 while (dataGridView1.Rows.Count!= null)
                        {                            
                          dataGridView1.Rows.Remove(dataGridView1.CurrentRow);
                        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.03.2011, 09:46
Ответы с готовыми решениями:

Удаление данных из конкретных столбцов в DataGridView
Здравствуйте, возникла такая проблема. Есть таблица из 5 столбцов, по первой кнопке я заполняю...

DataGridview удаление строк с обновлением данных в DataTable
уважаемые форумчане, у меня такой вопрос.Есть DataTable, без бд, и привязанный к нему...

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

Удаление всех записей из DataGridView и добавление записей
Всем доброго времени суток. Столкнулся со следующей проблемой: написал код на удаление строк...

20
34 / 34 / 5
Регистрация: 16.11.2010
Сообщений: 105
10.03.2011, 09:59 2
dataGridView1 = null;
0
60 / 60 / 6
Регистрация: 07.09.2010
Сообщений: 259
10.03.2011, 10:07 3
C#
1
2
3
4
for (int i = 0; i < DataGridView1.Rows.Count; i++ )
             {
                 DataGridView1.DeleteRow(i);            
 }
0
23 / 23 / 4
Регистрация: 19.04.2010
Сообщений: 50
10.03.2011, 10:29 4
Может так сработает
C#
1
DataGridView1.Rows.Clear();
4
167 / 139 / 23
Регистрация: 02.01.2011
Сообщений: 913
10.03.2011, 10:41  [ТС] 5
Спасибо, но оба варианта не подходят. Если делаю
C#
1
 dataGridView=null
, то потом не получается заполнить Grid заново, а
C#
1
 deleteRows
не сушествует(есть remove, которыи требует индекс) Может есть что-нибудь типа RemoveAll ?Я не нашлa
0
60 / 60 / 6
Регистрация: 07.09.2010
Сообщений: 259
10.03.2011, 10:55 6
iva_a, извини, это было из моего проекта, я там для себя перегрузил контрол и забыл )) вот так нужно:

C#
1
2
3
4
5
[FONT=monospace]
[/FONT]for (int i = 0; i < DataGridView1.Rows.Count; i++ )
 {     
   DataGridView1.Rows.RemoveAt(i);
 }
Добавлено через 54 секунды
FONT Это случайно добавилось. не нужно. у меня вечно на форме с этим проблемы.
0
20 / 18 / 4
Регистрация: 04.12.2009
Сообщений: 82
10.03.2011, 10:56 7
Цитата Сообщение от iva_a Посмотреть сообщение
потом не получается заполнить Grid заново, а
а если после
C#
1
dataGridView=null
писать
C#
1
dataGridView= new DataGridView();
или что то в этом роде ?
0
167 / 139 / 23
Регистрация: 02.01.2011
Сообщений: 913
10.03.2011, 11:44  [ТС] 8
А можно программно как-нибудь установить курсор на 1 строку? Дело в том, что я считываю в эту таблицу текстовыи файл, и если я 2 раза нажму на кнопку, то на форме файл дописывается в таблицу, поэтому я хотела сначала таблицу обнулить... Не получается ...
0
60 / 60 / 6
Регистрация: 07.09.2010
Сообщений: 259
10.03.2011, 11:47 9
iva_a, курсор чего?....можно выделение поставить. А редактировать, удалять строки можно по индексу. grid.Rows.RemoveAt(i)
0
167 / 139 / 23
Регистрация: 02.01.2011
Сообщений: 913
10.03.2011, 12:28  [ТС] 10
ДА, курсор,т.е. выделение первои строки таблицы не помогает Посмотрите, пожалуиста, код(он стоит на кнопке). Как бы сделать так, чтобы при нажатии еше раз, файл не дописывался в таблице,а отражался ,т.е. таблица переписывалась полностью
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
private void _Write_from_File_To_Grid()
 
        {
                        string Config_Unit_File_FullPath = Directory.GetCurrentDirectory() + @"\ConfigUnit.txt";
                      int iii = dataGridView1.Rows.Count;
                        labelCount.Text = iii.ToString();
                while(dataGridView1.Rows.Count>1)
            {
                dataGridView1.Rows.Remove(dataGridView1.Rows[1]);//ЗДЕСЬ выдается ошибка Uncommitted new row cannot be deleted.
                
            }
               
                        string inpstr;
                        StreamReader rd = new StreamReader(Config_Unit_File_FullPath);
 
                        string[] str;
                        char[] delim = new char[] { ' ' };//Разделители
 
                       
                        while ((inpstr = rd.ReadLine()) != null)
                        {
                            
  
                            str = inpstr.Split(delim);//Разбиваем строку на отдельные строки по разделителям
                            dataGridView1.Rows.Add(str);
  
                        }
                        rd.Close();
 
                    }
0
60 / 60 / 6
Регистрация: 07.09.2010
Сообщений: 259
10.03.2011, 12:37 11
iva_a, попробуйте всё-таки RemoveAt
0
167 / 139 / 23
Регистрация: 02.01.2011
Сообщений: 913
10.03.2011, 13:16  [ТС] 12
пробую так
-ошибка "Uncommitted new row cannot be deleted"
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
   private void _Write_from_File_To_Grid()
 
        {
                        string Config_Unit_File_FullPath = Directory.GetCurrentDirectory() + @"\ConfigUnit.txt";
                      int iii = dataGridView1.Rows.Count;
                        labelCount.Text = iii.ToString();
           /*     while(dataGridView1.Rows.Count=1)
            {
                dataGridView1.Rows.RemoveAt(iii);
                
            }*/
                        for (int i = 0; i < dataGridView1.Rows.Count; i++)
                        {
                            dataGridView1.Rows.RemoveAt(i);//Здесь ошибка - Uncommitted new row cannot be deleted.
                        }
               
                        string inpstr;
                        StreamReader rd = new StreamReader(Config_Unit_File_FullPath);
 
                        string[] str;
                        char[] delim = new char[] { ' ' };//Разделители
 
                       
                        while ((inpstr = rd.ReadLine()) != null)
                        {
                            
  
                            str = inpstr.Split(delim);//Разбиваем строку на отдельные строки по разделителям
                            dataGridView1.Rows.Add(str);
  
                        }
                        rd.Close();
 
                    }
Пробую так -не стираются все строки, дописывается фаил
C#
1
2
3
4
5
.......
                        for (int i = 0; i < dataGridView1.Rows.Count-1; i++)
                        {
                            dataGridView1.Rows.RemoveAt(i);
                        }
Чего делать?
0
60 / 60 / 6
Регистрация: 07.09.2010
Сообщений: 259
10.03.2011, 13:20 13
iva_a, вам нужно первую строчку оставлять? почему вы исправили границу на dataGridView1.Rows.Count-1
должно быть просто dataGridView1.Rows.Count
какие не все строки удаляются?

попробуйте так:
C#
1
2
   for (int i = dataGridView1.Rows.Count-1; i > -1; i++)
       {                dataGridView1.Rows.RemoveAt(i);        }
0
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
10.03.2011, 13:40 14
Цитата Сообщение от iva_a Посмотреть сообщение
Как удалить (по кнопке) все эти данные?
Да уж мы легких путей не ищем.....
Все элементарно
C#
1
2
3
4
        private void button1_Click(object sender, EventArgs e)        
        {
            dataGridView1.Rows.Clear();
        }
4
167 / 139 / 23
Регистрация: 02.01.2011
Сообщений: 913
10.03.2011, 13:48  [ТС] 15
Попробовала Получила ту же ошибку "Uncommitted new row cannot be deleted." По этои же причине изменила Counter.Я так поняла, что нулевая строка в грид - это заголовок таблицы, поэтомы ее нельзя удалить Или я ошибаюсь?

Добавлено через 6 минут
nio!!!!!!! Ура! Спасибо огромное!!!!!
0
20 / 18 / 4
Регистрация: 04.12.2009
Сообщений: 82
10.03.2011, 13:56 16
Цитата Сообщение от iva_a Посмотреть сообщение
nio!!!!!!! Ура! Спасибо огромное!!!!!
Вообще то этот ответ был написан еще в самом начале... 3-й ответ в этой теме, если не ошибаюсь...
0
167 / 139 / 23
Регистрация: 02.01.2011
Сообщений: 913
10.03.2011, 14:03  [ТС] 17
Всем - спасибо! Буду внимательнее, обешаю
0
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
15.09.2011, 15:25 18
Здравствуйте))) Вся таблица из памяти удаляется посредством Dataset->Table->Clear()
Но записи в БД это не затронет: очистится просто грид((((
0
167 / 139 / 23
Регистрация: 02.01.2011
Сообщений: 913
15.09.2011, 16:54  [ТС] 19
umatkot, срасибо, но у меня dataGridView не связана с базои данных. Это просто вывод на экран информации из текстового файла
0
16 / 16 / 0
Регистрация: 21.08.2012
Сообщений: 16
29.08.2012, 12:36 20
функция которая очищает ДатаГрид
C#
1
2
3
4
5
6
7
        
public void Clear(DataGridView dataGridView)
        {
            while(dataGridView.Rows.Count > 1)
                for (int i = 0; i < dataGridView.Rows.Count-1; i++)
                    dataGridView.Rows.Remove(dataGridView.Rows[i]);
        }
2
29.08.2012, 12:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2012, 12:36
Помогаю со студенческими работами здесь

Удаление всех данных из DataGridView
Здравствуйте! У меня dataGridView заполняется из БД, и после нажатия кнопки dataGridView нужно...

Удаление всех строк в DataGridView
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click...

Удаление из dataGridView и базы данных
Ребят такая тема, есть база и таблица datagridview для Windows Forms, там есть данные, необходимо...

Удаление информации из datagridview и базы данных
Всем привет.Нужна ваша помощь.Есть форма на которой расположена datagridview и она связанна с базой...


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

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