1 / 1 / 0
Регистрация: 12.05.2017
Сообщений: 91

Заполнение ComboBox из БД в зависимости от значения в другом ComboBox

03.03.2019, 14:51. Показов 11163. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста сделал базу в sql server и привязал ее к visual studia но возникла проблема как сделать так что бы при выборе в combobox данного в других комбо боксах оставались только те данные которые которые принадлежат ему к примеру я выбираю марку авто AUDI и у меня должны остаться только модели которые принадлежат этой марки помоги пожалуйса очень нужно
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.03.2019, 14:51
Ответы с готовыми решениями:

Заполнение одного ComboBox-а в зависимости от выбранного значения в другом ComboBox-е
Можно ли сделать так, чтобы если я выбирают первый пункт в первом ComboBox1, а во втором при определенном услови заполнялись нужные данные....

Заполнение ComboBox из БД в зависимости от выбранного значения в другом ComboBox
Т.к. я не профессионал, прошу сразу не закидывать палками )) Проблема следующая, грубо говоря на форме преславутые зависимые ComboBox,...

Вывод списка в ComboBox зависимости от выбора в другом ComboBox. C++
Вывод списка в ComboBox зависимости от выбора в другом ComboBox. Например, студент выбирает группу, а после предмет по своей...

17
1 / 1 / 0
Регистрация: 12.05.2017
Сообщений: 91
03.03.2019, 17:38  [ТС]
помогите пожалуйста создал базу sql server и подключил ее к visual studia но не знаю как сделать так что бы при выборе в combobox1 допустим любую марку авто во втором combobox оставались только те модели авто которые принадлежат этой марки авто помогите пожалуйста буду очень благодарен и в интернет ничего подобного не нашол
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
03.03.2019, 17:47
Цитата Сообщение от qiwi13 Посмотреть сообщение
как сделать так что бы при выборе в combobox1 допустим любую марку авто во втором combobox оставались только те модели авто которые принадлежат этой марки авто
Подписываетесь на событие combobox1 SelectedIndexChanged. В обработчике этого события делаете выборку из БД по выбранному значению в combobox1 и заполняете combobox2. Как то так...
0
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
03.03.2019, 17:48
qiwi13, Данные привязывать надо. Обрабатывать SelectedIndexChanged у комбобокса. Если база локальная. скиньте сюда проект. Посмотрю как вы БД привязали.
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
03.03.2019, 18:24
qiwi13, самый простой способ связать 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
List<string> list = new List<string>() { "a1", "a2" }; //Эти значения будут в 1-м combobox'е
 
// dt - таблица, в которой есть 2 столбца - "c1" и "c2"
// в столбце с1 должны быть значения из list (в реале, list может быть другая таблица)
DataTable dt; 
DataView dv;
 
public void Init()
{
    // Привязываем comboBox1 к списку
    comboBox1.DataSource = list;
    // Подписываемся на событие 
    comboBox1.SelectedIndexChanged += ComboBox1_SelectedIndexChanged;
 
    // Создаем вью
    dv = dt1.DefaultView;
    // Указываем, что нужно фильтровать значения по столбцу с1
    dv.RowFilter = $"c1='{comboBox1.SelectedItem}'";
    // Привязываем comboBox2 к таблице
    comboBox2.DataSource = dv;
    comboBox2.DisplayMember = "c2";
}
 
private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    // При смене значения в comboBox1, меняем фильтр во вью
    dv.RowFilter = $"c1='{comboBox1.SelectedItem}'";
}
Усе! Значения comboBox2 теперь зависят от значения, выбранного в comboBox1
0
1 / 1 / 0
Регистрация: 12.05.2017
Сообщений: 91
03.03.2019, 20:53  [ТС]
а можно как то по чет че расписать если вас не затрудник потому что я не понял ничего

Добавлено через 6 минут
вот на этот ответ как это сделать
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
03.03.2019, 23:44
Цитата Сообщение от qiwi13 Посмотреть сообщение
а можно как то по чет че расписать
эммм... куда уж четче? И так каждая строка прокомментирована...

Цитата Сообщение от qiwi13 Посмотреть сообщение
потому что я не понял ничего
а вот это знак свыше, что нужно взять в руки учебник и прочитать хотя бы основы )))
0
1 / 1 / 0
Регистрация: 12.05.2017
Сообщений: 91
04.03.2019, 16:41  [ТС]
а как это сделать Подписываетесь на событие combobox1 SelectedIndexChanged. В обработчике этого события делаете выборку из БД по выбранному значению в combobox1 и заполняете combobox2. Как то так...

Добавлено через 30 секунд
или это и есть вот этот код который выше
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
04.03.2019, 16:43
Цитата Сообщение от qiwi13 Посмотреть сообщение
или это и есть вот этот код который выше
да! с той лишь разницей, что в приведенном примере используется не sql запрос, а вью и его свойство rowfilter
0
1 / 1 / 0
Регистрация: 12.05.2017
Сообщений: 91
05.03.2019, 18:19  [ТС]
https://www.cyberforum.ru/atta... 1551797944

Добавлено через 36 секунд
asn31337, помогите пожалуйста я так и не разобрался как это сделать

Добавлено через 4 минуты
пароль admin логин admin
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
05.03.2019, 20:11
qiwi13, прогу я запустить не могу, т.к. Вашей БД у меня нет... Попробую объяснить на пальцах.
Смотрите, есть у Вас куча DataSet'ов (зачем они нужны непонятно, т.к. в одном датасете может быть много таблиц и совсем не обязательно делать для каждой таблицы свой датасет, но это к теме не относится). В DataSet есть таблица, которую Вам и нужно привязать к комбобоксу. Получается, в Вашей записи DataTable model;, model это таблица, находящаяся в auto_shopDataSet2.model. Т.е. можно написать так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        DataView mm; // mm должна быть объявлена вне метода. иначе будет не видна
        public void Init()
        {
            mm = auto_shopDataSet2.model.DefaultView;
            comboBox1.DataSource = markiBindingSource;
            comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged;
 
            // столбец - это столбец в таблице "модели" по которому нужно отбирать марки
            mm.RowFilter = $"столбец='{comboBox1.SelectedItem}'";
            comboBox2.DataSource = mm;
        }
 
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            mm.RowFilter = $"столбец='{comboBox1.SelectedItem}'";
        }
Вот примерно как то так и должно работать...
0
1 / 1 / 0
Регистрация: 12.05.2017
Сообщений: 91
05.03.2019, 20:29  [ТС]
а как понять в должны быть объединены вне метода
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
05.03.2019, 20:32
Цитата Сообщение от qiwi13 Посмотреть сообщение
должны быть объединены
ОБЪЯВЛЕНА, а не объединены...

Цитата Сообщение от qiwi13 Посмотреть сообщение
а как понять в должны быть объединены вне метода
Так как сделано у меня. Если интересно, почитайте про области видимости переменных.
0
1 / 1 / 0
Регистрация: 12.05.2017
Сообщений: 91
05.03.2019, 20:34  [ТС]
вот база
Вложения
Тип файла: rar Новая папка (2).rar (384.8 Кб, 49 просмотров)
0
1 / 1 / 0
Регистрация: 12.05.2017
Сообщений: 91
05.03.2019, 21:16  [ТС]
ошибка
Миниатюры
Заполнение ComboBox из БД в зависимости от значения в другом ComboBox  
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
05.03.2019, 21:40
Цитата Сообщение от qiwi13 Посмотреть сообщение
ошибка
а значение modelid где присваивается? в методе Init? Метод Init вызывается до вызова comboBox1_SelectedIndexChanged?
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
06.03.2019, 15:05
Цитата Сообщение от qiwi13 Посмотреть сообщение
вот база
база не открывается.

И еще вопрос... А при чем тут база в файле .mdf если у Вас программа настроена на работу с Sql server, а не local db?
0
1 / 1 / 0
Регистрация: 12.05.2017
Сообщений: 91
09.03.2019, 18:35  [ТС]
все спасибо я разобрался
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.03.2019, 18:35
Помогаю со студенческими работами здесь

Заполнение TextBox в зависимости от значения ComboBox
&lt;Схема atr1=&quot;schemе1&quot;&gt; &lt;ИмяВСписке atr1=&quot;schema1&quot;/&gt; &lt;Сервер atr1=&quot;111.112.113.114&quot;/&gt; &lt;Порт atr1=&quot;1234&quot;/&gt; ...

Изменять значения одного ComboBox-а в зависимости от другого ComboBox-а
На форме есть два ComboBox-а. Как сделать так, чтоб значения одного ComboBox-а менялись в зависимости от другого ComboBox-а ?

Access. Значения combobox в зависимости от других combobox
Добрый день! Мне требуется сделать базу данных, но столкнулся с проблемой задания значений в комбо-бокс в зависимости от выбора других...

Заполнения ComboBox в зависимости от SelectedValue в другом Combo
Здравствуйте. Ситуация такая. Есть форма для заполнения информации по умершим. Там - 2 comboBox'а - для выбора мед.учреждения и отделения в...

Формирование элементов ComboBox в зависимости от выбора в другом
Помогите пожалуйста, второй день мучаюсь, голова кипит!!! задача стоит такая что бы в зависимости от выбора значения в одном comboboxe ...


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

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

Новые блоги и статьи
Как использовать OAuth2 со Spring Security в Java
Javaican 14.05.2025
Протокол OAuth2 часто путают с механизмами аутентификации, хотя по сути это протокол авторизации. Представьте, что вместо передачи ключей от всего дома вашему другу, который пришёл полить цветы, вы. . .
Анализ текста на Python с NLTK и Spacy
AI_Generated 14.05.2025
NLTK, старожил в мире обработки естественного языка на Python, содержит богатейшую коллекцию алгоритмов и готовых моделей. Эта библиотека отлично подходит для образовательных целей и. . .
Реализация DI в PHP
Jason-Webb 13.05.2025
Когда я начинал писать свой первый крупный PHP-проект, моя архитектура напоминала запутаный клубок спагетти. Классы создавали другие классы внутри себя, зависимости жостко прописывались в коде, а о. . .
Обработка изображений в реальном времени на C# с OpenCV
stackOverflow 13.05.2025
Объединение библиотеки компьютерного зрения OpenCV с современным языком программирования C# создаёт симбиоз, который открывает доступ к впечатляющему набору возможностей. Ключевое преимущество этого. . .
POCO, ACE, Loki и другие продвинутые C++ библиотеки
NullReferenced 13.05.2025
В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .
Паттерны проектирования GoF на C#
UnmanagedCoder 13.05.2025
Вы наверняка сталкивались с ситуациями, когда код разрастается до неприличных размеров, а его поддержка становится настоящим испытанием. Именно в такие моменты на помощь приходят паттерны Gang of. . .
Создаем CLI приложение на Python с Prompt Toolkit
py-thonny 13.05.2025
Современные командные интерфейсы давно перестали быть черно-белыми текстовыми программами, которые многие помнят по старым операционным системам. CLI сегодня – это мощные, интуитивные и даже. . .
Конвейеры ETL с Apache Airflow и Python
AI_Generated 13.05.2025
ETL-конвейеры – это набор процессов, отвечающих за извлечение данных из различных источников (Extract), их преобразование в нужный формат (Transform) и загрузку в целевое хранилище (Load). . . .
Выполнение асинхронных задач в Python с asyncio
py-thonny 12.05.2025
Современный мир программирования похож на оживлённый мегаполис – тысячи процессов одновременно требуют внимания, ресурсов и времени. В этих джунглях операций возникают ситуации, когда программа. . .
Работа с gRPC сервисами на C#
UnmanagedCoder 12.05.2025
gRPC (Google Remote Procedure Call) — открытый высокопроизводительный RPC-фреймворк, изначально разработанный компанией Google. Он отличается от традиционых REST-сервисов как минимум тем, что. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru