Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
3 / 3 / 2
Регистрация: 17.11.2014
Сообщений: 194

Фильтрация Datagridview по оценкам студента

17.10.2016, 20:45. Показов 1737. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Пишу программку простенькую, где имеется небольшая информация о 6 студентах ( курс, группа, оценки по 3-м предметам). Не могу по-быстрому сообразить, как мне отфильтровать данные с datagridview1, чтобы остались только отличники...Можно по нажатию кнопки сделать, а можно вводя оценку в текстовое поле.
Код прилагается:
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace fuckinglab
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
           
            if (dataGridView1.Rows[1].Cells[3] = 5)
            {
               
 
            }
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            DataGridViewRow row1 = (DataGridViewRow)dataGridView1.Rows[0].Clone();
            row1.Cells[0].Value = "11 ПКС";
            row1.Cells[1].Value = "Ильин М.С.";
            row1.Cells[2].Value = "1";
            row1.Cells[3].Value = "5";
            row1.Cells[4].Value = "5";
            row1.Cells[5].Value = "5";
            dataGridView1.Rows.Add(row1);
 
            DataGridViewRow row2 = (DataGridViewRow)dataGridView1.Rows[0].Clone();
            row2.Cells[0].Value = "11ПКС";
            row2.Cells[1].Value = "Крамской И.К.";
            row2.Cells[2].Value = "1";
            row2.Cells[3].Value = "5";
            row2.Cells[4].Value = "5";
            row2.Cells[5].Value = "5";
            dataGridView1.Rows.Add(row2);
 
            DataGridViewRow row3 = (DataGridViewRow)dataGridView1.Rows[0].Clone();
            row3.Cells[0].Value = "11 ПКС";
            row3.Cells[1].Value = "Кожушная В.В.";
            row3.Cells[2].Value = "1";
            row3.Cells[3].Value = "4";
            row3.Cells[4].Value = "5";
            row3.Cells[5].Value = "4";
            dataGridView1.Rows.Add(row3);
 
            DataGridViewRow row4 = (DataGridViewRow)dataGridView1.Rows[0].Clone();
            row4.Cells[0].Value = "11 ПКС";
            row4.Cells[1].Value = "Королев М.Г.";
            row4.Cells[2].Value = "1";
            row4.Cells[3].Value = "5";
            row4.Cells[4].Value = "4";
            row4.Cells[5].Value = "5";
            dataGridView1.Rows.Add(row4);
 
            DataGridViewRow row5 = (DataGridViewRow)dataGridView1.Rows[0].Clone();
            row5.Cells[0].Value = "11 ПКС";
            row5.Cells[1].Value = "Меньшиков Х.З.";
            row5.Cells[2].Value = "1";
            row5.Cells[3].Value = "5";
            row5.Cells[4].Value = "4";
            row5.Cells[5].Value = "5";
 
            dataGridView1.Rows.Add(row5);
 
            DataGridViewRow row6 = (DataGridViewRow)dataGridView1.Rows[0].Clone();
            row6.Cells[0].Value = "11 ПКС";
            row6.Cells[1].Value = "Прахов В.В.";
            row6.Cells[2].Value = "1";
            row6.Cells[3].Value = "5";
            row6.Cells[4].Value = "5";
            row6.Cells[5].Value = "5";
 
            dataGridView1.Rows.Add(row6);
          
        }
    }
}
1
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.10.2016, 20:45
Ответы с готовыми решениями:

По заданным оценкам студента определить тип студента
По заданным оценкам студента (3 оценки) определить тип студента: ОТЛ, ХОР, ТРО, ДВ.

Определить стипендию студента по его оценкам
Студент сдает экзамены по 4 предметам: информатика, математика, физика, химия. Стипендия назначается из следующих условий: Есть...

Составить программу, которая анализирует студента по его оценкам
Составить программу, которая анализирует студента по его оценкам и выводит на экран одно из сообщений: “Вы учитесь плохо”, “Вы учитесь...

6
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,631
17.10.2016, 20:49
Datagridview это инструмент для отображения ваших данных, поэтому лучше всего фильтрацию проводить на уровне данных и отображать то что вам нужно
0
3 / 3 / 2
Регистрация: 17.11.2014
Сообщений: 194
17.10.2016, 21:29  [ТС]
Ok, понял. То есть будет лучше, если выведу в richtextbox - например. А если сделать вроде фильтра, как в excel над dgv - смысл имеет?
0
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,631
17.10.2016, 21:47
мне кажется проще всего сортировать данные, вы же как то их вводите, запишите в массив и с ним работайте

Добавлено через 11 минут
https://msdn.microsoft.com/ru-... .110).aspx
0
0 / 0 / 1
Регистрация: 27.09.2016
Сообщений: 8
17.10.2016, 21:50
Лучший ответ Сообщение было отмечено EvilSky как решение

Решение

я предлагаю такое решение, но лучше сделать через бинды (Databindings)

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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApplication5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        public class Student 
        {
            //свойства - есть строки таблицы
            public string group { get; set; }
            public string name { get; set; }
            public int value1 { get; set; }
            public int subject1 { get; set; }
            public int subject2 { get; set; }
            public int subject3 { get; set; }
 
            public Student(string gr, string nm, int v, int s1, int s2, int s3)
            {
                group = gr;
                name = nm;
                value1 = v;
                subject1 = s1;
                subject2 = s2;
                subject3 = s3;
            }
        }
        public List<Student> liststudent = new List<Student>(); 
        private void Form1_Load(object sender, EventArgs e)
        {
            
            DataGridViewRow row1 = (DataGridViewRow)dataGridView1.Rows[0].Clone();
            row1.Cells[0].Value = "11 ПКС";
            row1.Cells[1].Value = "Ильин М.С.";
            row1.Cells[2].Value = "1";
            row1.Cells[3].Value = "5";
            row1.Cells[4].Value = "5";
            row1.Cells[5].Value = "5";
            dataGridView1.Rows.Add(row1);
 
            DataGridViewRow row2 = (DataGridViewRow)dataGridView1.Rows[0].Clone();
            row2.Cells[0].Value = "11ПКС";
            row2.Cells[1].Value = "Крамской И.К.";
            row2.Cells[2].Value = "1";
            row2.Cells[3].Value = "5";
            row2.Cells[4].Value = "5";
            row2.Cells[5].Value = "5";
            dataGridView1.Rows.Add(row2);
 
            DataGridViewRow row3 = (DataGridViewRow)dataGridView1.Rows[0].Clone();
            row3.Cells[0].Value = "11 ПКС";
            row3.Cells[1].Value = "Кожушная В.В.";
            row3.Cells[2].Value = "1";
            row3.Cells[3].Value = "4";
            row3.Cells[4].Value = "5";
            row3.Cells[5].Value = "4";
            dataGridView1.Rows.Add(row3);
 
            DataGridViewRow row4 = (DataGridViewRow)dataGridView1.Rows[0].Clone();
            row4.Cells[0].Value = "11 ПКС";
            row4.Cells[1].Value = "Королев М.Г.";
            row4.Cells[2].Value = "1";
            row4.Cells[3].Value = "5";
            row4.Cells[4].Value = "4";
            row4.Cells[5].Value = "5";
            dataGridView1.Rows.Add(row4);
 
            DataGridViewRow row5 = (DataGridViewRow)dataGridView1.Rows[0].Clone();
            row5.Cells[0].Value = "11 ПКС";
            row5.Cells[1].Value = "Меньшиков Х.З.";
            row5.Cells[2].Value = "1";
            row5.Cells[3].Value = "5";
            row5.Cells[4].Value = "4";
            row5.Cells[5].Value = "5";
 
            dataGridView1.Rows.Add(row5);
 
            DataGridViewRow row6 = (DataGridViewRow)dataGridView1.Rows[0].Clone();
            row6.Cells[0].Value = "11 ПКС";
            row6.Cells[1].Value = "Прахов В.В.";
            row6.Cells[2].Value = "1";
            row6.Cells[3].Value = "5";
            row6.Cells[4].Value = "5";
            row6.Cells[5].Value = "5";
 
            dataGridView1.Rows.Add(row6);
 
            for(int i = 0;i<=dataGridView1.Rows.Count; i++)
            {
                liststudent.Add(new Student(dataGridView1.Rows[i].Cells[0].Value.ToString(), dataGridView1.Rows[i].Cells[1].Value.ToString(), Int32.Parse(dataGridView1.Rows[i].Cells[2].Value.ToString()), Int32.Parse(dataGridView1.Rows[i].Cells[3].Value.ToString()), Int32.Parse(dataGridView1.Rows[i].Cells[4].Value.ToString()), Int32.Parse(dataGridView1.Rows[i].Cells[5].Value.ToString())));
            }
             
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text.ToString() != "")
            {
                int i = Int32.Parse(textBox1.Text.ToString());
                dataGridView1.Rows.Clear();
 
                foreach (Student s in liststudent)
                {
                    if ((s.subject1 == i) && (s.subject2 == i) && (s.subject3 == i))
                    {
                        dataGridView1.Rows.Add(s.group.ToString(), s.name.ToString(), s.value1.ToString(), s.subject1.ToString(), s.subject2.ToString(), s.subject3.ToString());
                    }
                }
            }
 
        }
    }
}
Создайте дополнительно TextBox и туда введите оценку 5. У меня работает.
0
3 / 3 / 2
Регистрация: 17.11.2014
Сообщений: 194
17.10.2016, 22:12  [ТС]
Да - работает. Попробую тоже решить, позже скину код.
0
4 / 4 / 1
Регистрация: 08.11.2015
Сообщений: 197
07.02.2017, 11:15
DreamMe, а как подсчитать количество найденных строк в label или в 2й textbox...., Т.е. если записей 10, а вывила 3????
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.02.2017, 11:15
Помогаю со студенческими работами здесь

Определить средний балл каждого студента по оценкам заданным массивом
Оценки 5 студентов по 4 предметам представлены в виде массива. Написать программу, которая определит средний балл для каждого студента....

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

Фильтрация в datagridview
Здравствуйте. Подскажите плз, как отфильтровать через BindingSource.Filter используя текстбокс private void...

Фильтрация DataGridView
Есть почти готовая фильтрация, но фильтрует она только слова целиком. Как сделать так, чтобы когда начинаешь писать слово, в таблице...

Фильтрация в DataGridView
Как сделать так чтобы в checkedlistbox ставить галочки и по отмеченных галочкам производилась фильтрация в таблице(Acess) в...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Настройка записи справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru