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

Форма поиска по фамилии

09.11.2022, 21:36. Показов 920. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вывел на форму button и textbox, в кнопке написал код, после того как пишу фамилию нажимаю на кнопку нечего не происходит, в чем может заключаться проблема?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
form1 main = this.Owner as form1;
            if (main != null)
            {
                for(int i = 0; i < main.dataGridView1.RowCount; i++)
                {
                    main.dataGridView1.Rows[i].Selected = false;
                    for (int j = 0; j < main.dataGridView1.ColumnCount; j++)
                        if (main.dataGridView1.Rows[i].Cells[j].Value != null)
                            if (main.dataGridView1.Rows[i].Cells[j].Value.ToString().Contains(textBox1.Text))
                            {
                                main.dataGridView1.Rows[i].Selected = true;
                                break;
                            }
                }
            }
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.11.2022, 21:36
Ответы с готовыми решениями:

Настроить фильтр поиска по фамилии
Здравствуйте не могу настроить фильтр поиска по фамилии из базы данных Access поле текстовое пробовал двумя способами первый: ...

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

Разработать программу для поиска нужной фамилии в массиве, используя метод бинарного поиска
Разработать программу для поиска нужной фамилии в массиве, используя метод бинарного поиска. Добавлено через 2 минуты С...

11
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
09.11.2022, 21:57
Цитата Сообщение от goodrogrammer Посмотреть сообщение
C#
1
form1 main = this.Owner as form1;
Это зачем и для чего? И покажите больше кода. Где всё это хозяйство находится?
1
dive
 Аватар для I can
4956 / 4653 / 844
Регистрация: 13.04.2015
Сообщений: 9,853
09.11.2022, 22:01
Цитата Сообщение от goodrogrammer Посмотреть сообщение
form1 main = this.Owner as form1;
А так?
C#
1
form1 main = this;    //   .Owner as form1;
1
40 / 44 / 1
Регистрация: 19.01.2021
Сообщений: 534
09.11.2022, 22:06  [ТС]
John Prick, Я вывожу данные в dgv через mysql, у меня есть текстбокс и кнопка, нужно только правильно написать запрос на выдачу учеников с фамилиями на любую букву.
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
MySqlConnection connection = new MySqlConnection("server = localhost; port = 3306; username = root; password = root; database = 5class; SSL Mode=None");
        MySqlCommand command;
 
        private void Predmet1_Load(object sender, EventArgs e)
        {
            populateDGV();
 
            try
            {
                MySqlConnection connection = new MySqlConnection("server = localhost; port = 3306; username = root; password = root; database = 5class; SSL Mode=None");
                string selectQuery = "SELECT * FROM informatica";
                connection.Open();
                MySqlCommand command = new MySqlCommand(selectQuery, connection);
                MySqlDataReader reader = command.ExecuteReader();
 
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 
        public void populateDGV()
        {
            string selectQuery = "SELECT * FROM informatica";
            DataTable table = new DataTable();
            MySqlDataAdapter adapter = new MySqlDataAdapter(selectQuery, connection);
            adapter.Fill(table);
            dataGridView1.DataSource = table;
        }
 
        public void openConnection()
        {
            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }
        }
 
        public void closeConnection()
        {
            if (connection.State == ConnectionState.Open)
            {
                connection.Close();
            }
        }
 
        public void executeMyQuery(string query)
        {
            try
            {
                openConnection();
                command = new MySqlCommand(query, connection);
 
                if (command.ExecuteNonQuery() == 1)
                {
                    MessageBox.Show("Запрос выполнен");
                }
                else
                {
                    MessageBox.Show("Запрос не выполнен");
                }
 
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                closeConnection();
            }
        }
private void button1_Click(object sender, EventArgs e)
        {
            
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
 
        }
Добавлено через 1 минуту
I can, John Prick, Я просто это взял из своей старой методички, это больше всего подходило для dgv с access, я просто подумал вдруг сработает тоже.
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
09.11.2022, 22:20
Цитата Сообщение от goodrogrammer Посмотреть сообщение
Я вывожу данные в dgv через mysql
Ну и где тут тот кусок, который вы привели в начале? Просто совершенно не понятно, где у вас и что
Цитата Сообщение от goodrogrammer Посмотреть сообщение
нечего не происходит
1
40 / 44 / 1
Регистрация: 19.01.2021
Сообщений: 534
09.11.2022, 22:26  [ТС]
John Prick, Вот кнопка, она не работает когда я в textbox ввожу букву.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void button1_Click(object sender, EventArgs e)
        {
            Predmet1 main = this.Owner as Predmet1;
            if (main != null)
            {
                for (int i = 0; i < main.dataGridView1.RowCount; i++)
                {
                    main.dataGridView1.Rows[i].Selected = false;
                    for (int j = 0; j < main.dataGridView1.ColumnCount; j++)
                        if (main.dataGridView1.Rows[i].Cells[j].Value != null)
                            if (main.dataGridView1.Rows[i].Cells[j].Value.ToString().Contains(textBox1.Text))
                            {
                                main.dataGridView1.Rows[i].Selected = true;
                                break;
                            }
                }
            }
        }
Добавлено через 2 минуты
John Prick, Ошибок в коде не выдает
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
09.11.2022, 22:31
goodrogrammer, уберите это:
C#
1
2
            Predmet1 main = this.Owner as Predmet1;
            if (main != null)
И далее везде уберите main.
1
40 / 44 / 1
Регистрация: 19.01.2021
Сообщений: 534
09.11.2022, 22:44  [ТС]
John Prick, Убрал везде

Добавлено через 5 минут
John Prick, Заработало, но выделяет строку в таблице, а я бы хотел чтобы таблица очищалась и выводила все фамилии на ту букву которую я задам в текстбоксе

Добавлено через 2 минуты
John Prick, То есть, я хочу чтобы все осталось как есть, но таблица очищалась и выводило фамилии на ту букву которую я укажу
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
09.11.2022, 23:01
Цитата Сообщение от goodrogrammer Посмотреть сообщение
а я бы хотел чтобы таблица очищалась и выводила все фамилии на ту букву которую я задам в текстбоксе
Долго пытался написать, как сделать правильно, но что-то мысль не идёт...

Замените в коде Selected на Visible.
1
40 / 44 / 1
Регистрация: 19.01.2021
Сообщений: 534
09.11.2022, 23:03  [ТС]
John Prick, с Visible, перестало вовсе работать.
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
09.11.2022, 23:52
Лучший ответ Сообщение было отмечено goodrogrammer как решение

Решение

Цитата Сообщение от goodrogrammer Посмотреть сообщение
перестало вовсе работать
Вообще корень проблемы в том, что так с DataGridView не работают. Вам нужно создать модель, представляющюю данные из базы, привязать коллекцию объектов этой модели к DataGridView, и далее, манипулируя этой коллекцией (с помощью запросов или ещё как-то) получать автоматически в таблице нужные данные. Это довольно объёмная работа, чтобы объяснить её в двух словах. Наверное, вам стоит что-то ещё почитать по этой теме, кроме вашей методички.
1
40 / 44 / 1
Регистрация: 19.01.2021
Сообщений: 534
10.11.2022, 00:15  [ТС]
John Prick, Хорошо прочитаю, спасибо за помощь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.11.2022, 00:15
Помогаю со студенческими работами здесь

Форма поиска (несколько параметров поиска)
Доброго дня! Помогите, пожалуйста. Переделываю шаблон &quot;Контакты&quot; (Access 2010) под потребности нашей организации. Встал вопрос...

Реализация поиска по фамилии в БД
Доброго времени суток. В архиве прикрепил исходник и бд. подскажите как реализовать поиск по Фамилии, предмету???. Сделал поиск, но он...

Функция поиска по фамилии
Есть функция поиска по табельному номеру: void Search() { system (&quot;cls&quot;); bool fl=0; int q,i=0; Abbase z4; ifstream...

Реализация поиска по фамилии в форме
есть предположим форма и есть 3-4 однофамильца именно фамилия как в форме выбирать из этих 4=х у меня сейчас есть лицевой счет- но...

Процедура поиска фамилии в DbGrid
Помогите организовать процедуру поиска для нахождения фамилии из таблицы Grid.


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru