Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/14: Рейтинг темы: голосов - 14, средняя оценка - 4.71
25 / 25 / 10
Регистрация: 08.08.2011
Сообщений: 1,158
1

DataGridView - как удалить ряды, содержащие определенную строку

30.03.2012, 10:58. Просмотров 2583. Ответов 4
Метки нет (Все метки)

У меня есть dataGridView с 3 столбцами и 1000 рядов.

Как удалить все ряды, у которых во втором столбце значение == "Петров" ?

Добавлено через 8 минут
Как это сделать через foreach ряд where (условие)?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2012, 10:58
Ответы с готовыми решениями:

Файлы, как удалить определенную строку?
Как читать с файла 10 строчку(всю строчку в переменую) и удалить 11 строчку и все другие строчки...

Необходимо в текстовом файле найти определенную строку, в которой имеется спец.символ и удалить строку
К примеру в файле есть записи: Привет Привет Хороший День Мне нужно, что бы запись с символом...

как удалить строку из datagridview
как удалить строку из datagridview? у меня считывается из текстового файла инфа которой я заполняю...

DataGridView как удалить строку вручную?
Добрый день. Недавно в C#. Подскажите, пожалуйста, чего-то не могу сообразить. Есть на форме...

4
35 / 35 / 1
Регистрация: 14.01.2011
Сообщений: 111
30.03.2012, 11:26 2
C#
1
2
3
4
5
6
7
 for (int i = dataGridView1.Rows.Count-1; i >=0; i--)
{
  if (dataGridView1[1, i].Value != "петров")
  {
    dataGridView1.Rows.Remove(dataGridView1.Rows[i]);
  }
}
но так работает только если запрещено пользователю добавлять строки, иначе при удалении последней строки вывалится ошибка
если хочешь оставить пользователю возможность добавлять строки, то тебе нужно создать массив строк, пройтись циклом по гриду и добавить в массив строки которые хочешь оставить.
Потом очисти весь грид и добавить в него массив сохраненных строк
1
25 / 25 / 10
Регистрация: 08.08.2011
Сообщений: 1,158
30.03.2012, 11:47  [ТС] 3
Спасибо! Пришел к тому же решению. Я сначала пробовал перебирать от первой строки к последней, но заметил, что тогда не все строки удаляются (индекс ведь смещается). Поэтому нужно перебирать с конца.

Добавлено через 1 минуту
А может ли кто-нибудь написать решение с помощью Linq?
Очень интересно попробовать.
0
35 / 35 / 1
Регистрация: 14.01.2011
Сообщений: 111
31.03.2012, 04:36 4
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
            DataTable dt = new DataTable("data");
            DataColumn[] c = new DataColumn[] { new DataColumn("c1",typeof(string)), new DataColumn("c2", typeof(string)), new DataColumn("c3", typeof(int))};
            dt.Columns.AddRange(c);
            int rowCount = 20;
            //заполняем данными четный сидоров нечетный петров
            for (int i = 0; i < rowCount; i++)
            {
                dt.Rows.Add(new object[] { "c" + i.ToString(), i % 2 != 0 ? "Petrov" : "Sidorov", i });
            }
            //linq запрос из таблици
            var query = from d in dt.AsEnumerable() where d.Field<string>("c2") == "Petrov" select d;
            //переносим данные в новую таблицу
            DataTable dt_ = query.CopyToDataTable();
            //отображаем в гриде
            dataGridView1.DataSource = dt_;
1
25 / 25 / 10
Регистрация: 08.08.2011
Сообщений: 1,158
31.03.2012, 21:22  [ТС] 5
Спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2012, 21:22

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

Как окрасить ряды datagridview через 2
Добрый день! Нужно окрасить ряды datagridview 2 по 2. То есть, сначала идут два белых ряда,...

Как скрыть определенную ячейку в DataGridView
Господа, неполучается догадаться как сделать невидимую ячайку в гриде. Подскажите пожалуйста. ...

Удалить строку из datagridview
а как удалить выделенную строку при нажатии кнопки button?

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.