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

Удаление строки по условию столбца датой

17.04.2019, 23:18. Показов 776. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день нужна помощь умных людей.

есть код с запросом вроде все работает нормально отображает в гриде как надо но есть один нюанс

C#
1
2
3
4
5
6
7
8
9
10
11
string comand = "SELECT [table1].[Марка], [table1].[Цвет], [table1].[Дата выпуска], [table1].[Номе кузова], [table1].[Класс], [table1].[Коментарий] FROM [table1] WHERE " + dataGridView1.CurrentRow.Cells["id"].Value + " = [table1].[ID Персонала] AND [table1].[Тип] IN ('ВАЗ','Порше')";
 
                            dt = await http.GetDataHttp(comand, user);
                            dataGridView2.DataSource = dt;
                            for (int j = 0; j < dataGridView2.Rows.Count; j++)
                            {
                                if (Convert.ToDateTime(serverdata) >= Convert.ToDateTime(dataGridView2.Rows[j].Cells["Окончание"].Value))
                                {
                                    dataGridView2.Rows.Remove(dataGridView2.Rows[j]);
                                }
                            }
в переменную serverdata я загружаю текущую дату сервера и далее делаю условие на то что если текущая дата сервера больше
Даты в dataGridView2.Rows[j].Cells["Дата выпуска"].Value то строки должны будут удалиться с грида но они почему то удаляются через строку то есть строки в которых дата меньше даты сервера все равно остаются и не удаляются
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.04.2019, 23:18
Ответы с готовыми решениями:

Удаление строки/столбца таблицы после выхода из обработчика события
Пытаюсь сделать что-то типо умной таблицы. Например, удаляешь ты из ячейки значение, после, при переходе на другую ячейку в обработчике...

Здесь есть удаление столбца, как добавить удаление строки
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { int n; do {cout &lt;&lt; &quot;Razmer massiva: &quot;; cin &gt;&gt; n;...

Поиск подходящей по условию строки/столбца в матрице
Задача - &quot;Проверить, все ли столбцы матрицы содержат хотя бы один положительный элемент, если не все, сообщить номер последнего такого...

2
0 / 0 / 0
Регистрация: 12.05.2018
Сообщений: 3
18.04.2019, 08:04
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
enum Role {Ошибка,Менеджер,Исполнитель}
        static Role GetRole(string login, string password)
        {
            Role role = Role.Ошибка;
            using (var connection = new SqlConnection(@"Data Source = DESKTOP-BMAUN4A\SQLSERVER;Initial Catalog = DEMO;Integrated Security=True;"))
            {
                connection.Open();
                var command = new SqlCommand("Select [Role] From AutoRole WHERE Login=@login AND Password=@password", connection);
                command.Parameters.AddWithValue("@Login", login);
                command.Parameters.AddWithValue("@password", password);
 
                using (var dataReader = command.ExecuteReader())
                {
                    if (dataReader.Read())
                    {
                        switch ((int)dataReader["Role"])
                        {
                            case 0: role = Role.Исполнитель; break;
                            case 1: role = Role.Менеджер; break;
                        }
                    }
                }
            }
            return role;
        }
        private void button2_Click(object sender, EventArgs e)
        {
            Role role = GetRole(textBox1.Text, textBox2.Text);
            if (role == Role.Ошибка)
            {
                MessageBox.Show("Неверный логин или пароль");
            }
            else
            {
                if (role == Role.Менеджер)
                {
                    SqlConnection cn = new SqlConnection(@"Data Source = DESKTOP-BMAUN4A\SQLSERVER;Initial Catalog = DEMO;Integrated Security=True;");
                    cn.Open();
                    var command = new SqlCommand("Select [ФИО] From Manager WHERE Login=@login AND Password=@password", cn);
                    command.Parameters.AddWithValue("@login", textBox1.Text);
                    command.Parameters.AddWithValue("@password", textBox2.Text);
 
                    using (var dataReader = command.ExecuteReader())
                    {
                        if (dataReader.Read()) { Class1.text = (string)dataReader["ФИО"]; }
 
                    }
                    Form3 a = new Form3();
                    a.ShowDialog();
                    this.Hide();
                }
                else if (role == Role.Исполнитель)
                {
                    SqlConnection cn = new SqlConnection(@"Data Source = DESKTOP-BMAUN4A\SQLSERVER;Initial Catalog = DEMO;Integrated Security=True;");
                    cn.Open();
                    var command = new SqlCommand("Select [ФИО] From Ispolniteli WHERE Login=@login AND Password=@password", cn);
                    command.Parameters.AddWithValue("@login", textBox1.Text);
                    command.Parameters.AddWithValue("@password", textBox2.Text);
 
                    using (var dataReader = command.ExecuteReader())
                    {
                        if (dataReader.Read()) { Class1.text = (string)dataReader["ФИО"]; }
                        
                    }
                    cn.Close();
                    Form4 a = new Form4();
                    a.Show();
                    this.Hide();
                }
            }
        }
C#
1
2
3
4
5
this.zadachiTableAdapter.Fill(this.dEMODataSet1.Zadachi);
            label2.Text = Class1.text;
            dataGridView1.CurrentCell = null;
            for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
                dataGridView1.Rows[i].Visible = dataGridView1[2, i].Value.ToString() == label2.Text;
вставка имени

C#
1
2
3
4
dataGridView1.CurrentCell = null;
            for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
                dataGridView1.Rows[i].Visible = dataGridView1[1, i].Value.ToString() == textBox1.Text;
        }
добавление
0
113 / 89 / 26
Регистрация: 11.12.2018
Сообщений: 331
18.04.2019, 08:31
Цитата Сообщение от ААшечка Посмотреть сообщение
C#
1
dataGridView2.Rows.Remove(dataGridView2.Rows[j]);
Поймите, когда у Вас произойдет первое удаление, произойдет смещение и dataGridView2.Rows.Count будет к примеру уже не 11 (как было в начале цикла), а 10

Наглядно
К примеру дата на сервере 01.01.2019 и все записи с этой датой нужно удалить, в результате у нас из примера ниже не должно остаться строк.

0 01.01.2019 Первый проход цикла j = 0, дата попадает под условие и строка удаляется
1 01.01.2019 из-за удаления в первом пункте у этой строки индекс меняется с 1 на 0, но это уже второй проход цикла и j = 1 (строка не будет удалена)
2 01.01.2019 дальше думаю не нужно расписывать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.04.2019, 08:31
Помогаю со студенческими работами здесь

Удаление строки в Excel по условию
Добрый день, помогите разобраться, нужно в документе exel удалить строки содержащие определенное значение ячейки, и пересохранить файл

Удаление строки из StringGrid по условию
Добрый вечер. Вопрос есть. Имеется StringGrid. В него программно заносятся строки с внешнего общего устройства. К примеру 50 строк...

Удаление символов из строки по условию
Всем доброго времени суток. Есть строка. В ней используются пробелы либо символы &quot;\0&quot; для разделения слов. необходимо удалить из...

Работа с типизированными файлами. Удаление строки в файле по условию
Всем привет! :) В строках данные записаны в таком формате например: ФАМИЛИЯ | ИМЯ | ОТЧЕСТВО | как по запросу фамилии удалить все...

Удаление строки и столбца из матрицы
Люди, помогите написать программу для удаления строк и столбцов из динамической двумерной матрицы, все элементы которых отрицательны. Буду...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru