Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
25 / 24 / 13
Регистрация: 04.07.2012
Сообщений: 463
.NET 4.x

Внизпадающее окно textBox при заполнении datagridView

20.07.2012, 20:19. Показов 2575. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет)))))) Заполняю dataGridView подключенной к Access из textbox -сов по нажатию кнопки. Как реализовать чтоб при наборе тексата в textbox выпадало внизпадающее окно с похожими значениями этого столбца. Помогите, подскажите, как реализовать это. Заранее всем спасибо!!!!!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.07.2012, 20:19
Ответы с готовыми решениями:

DataGridView и выпадающее окно при заполнении
Доброго времени суток господа. Есть DGV (DataGridView) которая через MySqlDataAdapter запросами заполняется. Таблица естественно со...

Ошибка при заполнении DataGridView
Всем привет! Вроде все просто заполнить базу в форме 2 тексбухстами из 3 формы! Ошибка! В чем проблема?

Пустые строки при заполнении DataGridView через DataSource
Пытаюсь заполнить DataGridView через DataSource из BindingList. Код создает нужные столбцы, правильное количество строк(соответствующее...

11
 Аватар для mbigun
136 / 136 / 46
Регистрация: 21.04.2009
Сообщений: 178
20.07.2012, 23:13
Примерно так:
C#
1
2
3
4
5
6
7
8
9
        private void Form1_Load(object sender, EventArgs e)
        {
            textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
            textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource; 
            foreach (DataGridViewRow row in dataGridView1.Rows)
            { 
                textBox1.AutoCompleteCustomSource.Add(row.Cells["Your column name"].Value.ToString()); 
            }
        }
0
25 / 24 / 13
Регистрация: 04.07.2012
Сообщений: 463
21.07.2012, 23:04  [ТС]
Это прописать так для каждого textBox? А больше ничего не надо перенасить на форму
0
 Аватар для mbigun
136 / 136 / 46
Регистрация: 21.04.2009
Сообщений: 178
21.07.2012, 23:48
Цитата Сообщение от alexs622 Посмотреть сообщение
Это прописать так для каждого textBox? А больше ничего не надо перенасить на форму
Ничего больше не нужно переносить. Значения:
C#
1
2
            textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
            textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
ты можешь определить в самом конструкторе для textbox'ов (в свойствах).
А заполнять textBox1.AutoCompleteCustomSource.Add нужно уже программно.
1
25 / 24 / 13
Регистрация: 04.07.2012
Сообщений: 463
21.07.2012, 23:52  [ТС]
Спасибо, буду пробовать
0
25 / 24 / 13
Регистрация: 04.07.2012
Сообщений: 463
29.07.2012, 11:21  [ТС]
Попробовал ваш вариант, не получилось. Вот код добавления из textBox в dataGridView. Какаие свойсва надо указать я не понял
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private void button1_Click(object sender, EventArgs e)
        {
 
            if (dateTimePicker1.Text != "" && textBox1.Text != "" && textBox2.Text != "" && textBox3.Text != "");
            {
                DataRow row = хранениеDataSet.HContacts.NewRow();
                row["Дата"] = dateTimePicker1.Text;
                row["Имя"] = textBox1.Text;
                row["Отчество"] = textBox2.Text;
                row["Фамилия"] = textBox3.Text;
                
                хранениеDataSet.HContacts.Rows.Add(row);
 
                textBox1.Text = "";
                textBox2.Text = "";
                textBox3.Text = "";
                
 
            }
 
        }
0
 Аватар для mbigun
136 / 136 / 46
Регистрация: 21.04.2009
Сообщений: 178
30.07.2012, 19:58
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
private void Form1_Load(object sender, EventArgs e)
        {
            //Добавил поля в датагрид
            dataGridView1.Columns.Add("SecondName", "SecondName");
            dataGridView1.Columns.Add("Name", "Name");
 
            //Определил свойства для текстбоксов
            textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
            textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
            textBox2.AutoCompleteMode = AutoCompleteMode.Suggest;
            textBox2.AutoCompleteSource = AutoCompleteSource.CustomSource;
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            //На клике добавил данные в датагрид
            dataGridView1.Rows.Add(textBox1.Text, textBox2.Text);
            textBox1.Clear();
            textBox2.Clear();
            //Здесь у меня уже есть как минимум одна строка в гриде
            //Функция добавит данные из грида в текстбоксы(при вводе эти значения будут предлагаться пользователю)
            ADD_DATA_TO_TEXTBOXES();
        }
 
        void ADD_DATA_TO_TEXTBOXES()
        {
            //Очистим CustomSource для текстбоксов
            textBox1.AutoCompleteCustomSource.Clear();
            textBox2.AutoCompleteCustomSource.Clear();
 
            //Добавим CustomSource для текстбоксов
            for (int i = 0; i <= dataGridView1.Rows.Count - 1; i++ )
            {
                textBox1.AutoCompleteCustomSource.Add(dataGridView1.Rows[i].Cells["SecondName"].FormattedValue.ToString());
                textBox2.AutoCompleteCustomSource.Add(dataGridView1.Rows[i].Cells["Name"].FormattedValue.ToString());
            }
        }
Результат выполнения на скринах. Каждый раз после добавления новой строки в Ваш датагрид, используйте функцию ADD_DATA_TO_TEXTBOXES() как в моем примере. При этом на загрузке формы укажите необходимые свойства для текстбоксов.
Миниатюры
Внизпадающее окно textBox при заполнении datagridView   Внизпадающее окно textBox при заполнении datagridView  
0
25 / 24 / 13
Регистрация: 04.07.2012
Сообщений: 463
30.07.2012, 20:24  [ТС]
Я наверно не правильно сформулировал вопрос. Если в свойствай поставить значение, то при написании внизвыпадает только то, что указал в строках коллекции AutoCompleteCustomSource. А надо чтоб эта коллекция постоянно атоматически пополнялась
0
 Аватар для mbigun
136 / 136 / 46
Регистрация: 21.04.2009
Сообщений: 178
30.07.2012, 21:20
Цитата Сообщение от alexs622 Посмотреть сообщение
Если в свойствай поставить значение, то при написании внизвыпадает только то, что указал в строках коллекции AutoCompleteCustomSource.
Какое значение в свойствах? В строках коллекции мы ничего не добавляем и даже туда не лезем.

А надо чтоб эта коллекция постоянно атоматически пополнялась
А у меня как AutoCompleteCustomSource пополняется? Разве не автоматически?
C#
1
2
3
4
5
 for (int i = 0; i <= dataGridView1.Rows.Count - 1; i++ )
            {
                textBox1.AutoCompleteCustomSource.Add(dataGridView1.Rows[i].Cells["SecondName"].FormattedValue.ToString());
                textBox2.AutoCompleteCustomSource.Add(dataGridView1.Rows[i].Cells["Name"].FormattedValue.ToString());
            }
Я перебираю каждую строку в гриде и заполняю программно AutoCompleteCustomSource в обоих текстбоксах. Разве не так?
Примените код к своей задаче и посмотрите. Значения, которые будет вам предлагать textBox будут добавляться и запоминаться с каждой новой строкой в датагриде.

Перепишите условие задачи если мы с Вами говорим о разном.
1
25 / 24 / 13
Регистрация: 04.07.2012
Сообщений: 463
31.07.2012, 19:02  [ТС]
Сегодня попробовал. Спасибо. Изначально была проблемка: при вводе значений не появлялось внизпадающее окно. когда нажал кнопку ДОБАВИТЬ и опять начал вводить все появилось. Затем уже начали сразу пояаляться при запуске ПО
0
25 / 24 / 13
Регистрация: 04.07.2012
Сообщений: 463
09.08.2012, 20:31  [ТС]
Подскажите пожалуйста, а можно такое сделать если во вторую форму передавать dataset, BindinSourse, а не dataGridView
0
 Аватар для mbigun
136 / 136 / 46
Регистрация: 21.04.2009
Сообщений: 178
11.08.2012, 00:11
а можно такое сделать если во вторую форму передавать dataset, BindinSourse, а не dataGridView
Можно конечно. Здесь примеры есть.
Форма 1:
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace Example
{
    public partial class Form1 : Form
    {
        DataSet ds = new DataSet();
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            //Определимся с данными которые будем передавать. Заполним DataTable
            DataTable dt = new DataTable();
            dt.Columns.Add("FirstName", typeof(string));
            dt.Columns.Add("SecondName", typeof(string));
            dt.Columns.Add("Age", typeof(int));
            dt.Rows.Add("Иван", "Иванов", 22);
            dt.Rows.Add("Петров", "Петр", 18);
            //Датасет будет содержать нашу заполненную таблицу
            ds.Tables.Add(dt);
        }
 
        private void button1_Click(object sender, EventArgs e)
        {            
            Form2 form = new Form2();
            //Передадим во вторую форму наш датасет
            Form2.ds = ds;            
            form.Show();
        }
    }
}
Форма 2:
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace Example
{
    public partial class Form2 : Form
    {
        //Здесь будем принимать наш датасет из первой формы
        public static DataSet ds { get; set; }
 
        public Form2()
        {
            InitializeComponent();
        }
 
        private void Form2_Load(object sender, EventArgs e)
        {
            //Теперь можем использовать датасет как DataSource для нашего грида
            dataGridView1.DataSource = ds.Tables[0];
        }
    }
}
Аналогично будет для BindingSource.
Вот еще почитай.
Миниатюры
Внизпадающее окно textBox при заполнении datagridView  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.08.2012, 00:11
Помогаю со студенческими работами здесь

добавление столбцов в datagridview при заполнении из буфера обмена
Здравствуйте. Загружаю данные из буфера обмена(таблицы Excel) в грид. Если количество столбцов заранее известно- проблем нет, но столкнулся...

DataGridView подключил БД Acess и выдает ошибку при заполнении со второй формы
Помогите пожалуйста!!!! К DataGridView подключил БД Acess и появилось счетчикDataSet, sContactsBindingSource, sContactsTableAdapter. ...

Как вывести столбцы DataGridView в определенном порядке при заполнении из List
Подскажите как вывести столбцы в определенном порядке (программно) при заполнении dataGridView из List. И есть ли возможность один из...

Работа с TextBox C#: при заполнении первого текст бокса - второй выводил результат
Привет форумчане. Такая задача: есть 2 текст бокса, необходимо, после заполнения первого - увидеть результат во 2-ом, при этом выводить 15%...

Ошибка "Индекс за пределами диапазона" при заполнении dataGridView
Всем доброго времени суток:) Помогите разобраться в ошибке. Нужно каждый элемент массива х=(1,2,...,100) вставить в ячейку таблицы....


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru