Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 08.09.2015
Сообщений: 27

Привязка BindingSource с разными фильтрами для соответствующих ComboBox

30.07.2024, 13:15. Показов 1415. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго дня. Сталкнулся с такой проблемой. Есть таблица ТехКарта(рецептура продукта), она содержит три поля КодП (код продукта), КодС (код сырья) и КолС (количество сырья). На форме я создаю ComdoBox (с CBox01 по CBox141) в них мне надо отобразить наименование сырья из табл.СпрСырья (справочник сырья) соответствующий КодС в таб. ТехКарта, эти таблицы связаны по коду сырья (отфильтрофать по коду сырья указанного в каждой строке табл. ТехКарта). Если CBox01 - CBox141 задавать источник записей СпрСырьяBindingSource то все комбобоксы принимают одинаковое значение, Приходится комбобоксы привязывать к разным BindingSource (СпрСырьяBindingSource0, СпрСырьяBindingSource1, СпрСырьяBindingSource2 и т.д.). Тогда вопрос как их привязывать в цикле к комбобоксам? А далее еще подобный случай, только следующие комбобоксы надо прииязать к третьей таблице СклСырья (склад сырья) которая связана с предыдущими таблицами по коду сырья, но в этих комбобоксах мне нужно вывести цену данного сырья которое имеется в наличии (установить фильтр где остаток сырья >0 и ограничивать его по коду сырья).
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.07.2024, 13:15
Ответы с готовыми решениями:

Фильтрация разными фильтрами
Добрый день. Имеется таблица Юзер в ней 3 поля: Имя, Пол, Дата рождения. Необходимо написать запрос, получающий Юзера по любым данным,...

Реализовать фильтр для BindingSource через comboBox
Здравствуйте! Хочу реализовать фильтр для BindingSource через comboBox; Возможные значения comboBox берутся из справочника...

Фильтрация по уникальности строк, в привязки BindingSource для ComboBox
Давненько сталкивался, оставлял вопрос на мсдн но вот никак не могу найти решение. Могу ошибатся, но вроде было связано с...

29
0 / 0 / 0
Регистрация: 08.09.2015
Сообщений: 27
30.07.2024, 16:53  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Uswer Посмотреть сообщение
А нам для удобства нужно показать хоть кусок кода, чтобы понять масштабы бедствия.
Код не удастся показать, это все в настройках DGV. А код пытался написать но получается какая то ерунда
0
0 / 0 / 0
Регистрация: 08.09.2015
Сообщений: 27
30.07.2024, 17:05  [ТС]

Вот Так это выглядит в Акцессе
0
2296 / 1612 / 400
Регистрация: 26.06.2017
Сообщений: 4,774
Записей в блоге: 1
30.07.2024, 21:15
Мне кажется, что проще будет применить контролы от DevExpress, там без лишних танцев с бубном можно реализовать нечто подобное основной таблице техкарты. Но эти инструменты платные, что снижает их привлекательность.
Ну, а в целом можно попробовать сделать на базе DataGridView. На пальцах подход выглядит так: к DGV привязывается техкарта, которая состоит из записей ингредиентов (отдельный класс); к колонкам привязываются ингредиенты, но в каждой из них показываются разные свойства; остальное простые элементы.
0
0 / 0 / 0
Регистрация: 08.09.2015
Сообщений: 27
31.07.2024, 07:55  [ТС]
Ну так я вроде так и делаю. С DGV у меня пока одна продлема, в колонке Цена список не ограничивается фильтром ОстСырья>0 и КодС который соответствует коду сырья в Техкарте
0
2296 / 1612 / 400
Регистрация: 26.06.2017
Сообщений: 4,774
Записей в блоге: 1
31.07.2024, 08:23
Цитата Сообщение от ИПЛ Посмотреть сообщение
Ну так я вроде так и делаю.
Хм, а откуда тогда 141 шт. ComdoBox-ов?
Цитата Сообщение от ИПЛ Посмотреть сообщение
С DGV у меня пока одна продлема
При входе в редактирование ячейки или при раскрытии DropDown списка ComdoBox-а в колонке Цена у вас запрос выполняется? Если да, то его надо поправить чтобы он не возвращал не нужные записи. А если запроса нет, то его надо добавить.

Не по теме:

Без кода все эти разговоры контрпродуктивны.

0
0 / 0 / 0
Регистрация: 08.09.2015
Сообщений: 27
31.07.2024, 09:10  [ТС]
Поясняю. Если вопрос решать через DGV, то проблема с колонкой Цена, не знаю как установить на нее фильтр. В этом случае я пытаюсь это сделать через настройки DGV. Здесь все идет через BindingSourceы.
С комбобоксами я пробовал другой вариант как в Акцессе, создать 15 комбобоксов, 15 полей и т.д., каждые из которых являются как бы колонками в таблице, а 15 это как бы строки в таблице и спомощью циклов загонять в них данные из таблиц. Но тут проблема как задать в цикле BindingSource0, BindingSource1, BindingSource2 и т.д. и как вычленять из таблиц значения полей. Почему я и говорил что в Акцессе это просто и понятно через рекордсеты

Добавлено через 3 минуты
Цитата Сообщение от Uswer Посмотреть сообщение
Хм, а откуда тогда 141 шт. ComdoBox-ов?

При входе в редактирование ячейки или при раскрытии DropDown списка ComdoBox-а в колонке Цена у вас запрос выполняется? Если да, то его надо поправить чтобы он не возвращал не нужные записи. А если запроса нет, то его надо добавить.

Не по теме:

Без кода все эти разговоры контрпродуктивны.

CBox141 это не шт. Это нумерация комбобокса от 0-14 это строки, а потом идет нумерация столбцом от 0 до 5

Добавлено через 11 минут
CBox141 это не шт. Это нумерация комбобокса от 0-14 это строки, а потом идет нумерация столбцом от 0 до 5
Код я не могу предоставить так как в первом случае я этл делаю через настройки DGV, но думаю надо будет написать код для третьуй колонки Цена, правда пока не понимаю как это сделать. Во втором случае тоже не знаю как подступиться, с чего начать, за что зацепиться. Поэтому и обратился за помощью на форум.
В первом случае надо как то ограничить список в комбобоксе колонки Цена остатком >0 и кодом сырья.
Во втором случае не понимаю как VB.net перебирать записи в таблице и вычленять из них нужные данные и загонять все это в поля и комбобоксы. С помощью запросов можно попытаться сделать, но шипко не хочется, все равно остаются вроблемы.
0
 Аватар для Andrey-MSK
3386 / 2272 / 388
Регистрация: 14.08.2018
Сообщений: 7,690
Записей в блоге: 4
31.07.2024, 09:17
Цитата Сообщение от ИПЛ Посмотреть сообщение
Код я не могу предоставить так как в первом случае я этл делаю через настройки DGV
В формах есть файл отделённого кода, там прописаны все настройки элементов UI.

Добавлено через 2 минуты
ИПЛ, И редактировать данные в DGV считается плохой практикой, так как сложно соблюсти целостность данных. Что и показывает ваш случай...
0
2296 / 1612 / 400
Регистрация: 26.06.2017
Сообщений: 4,774
Записей в блоге: 1
31.07.2024, 09:31
Цитата Сообщение от ИПЛ Посмотреть сообщение
Если вопрос решать через DGV, то проблема с колонкой Цена
Рекомендация дана тут.
Цитата Сообщение от ИПЛ Посмотреть сообщение
Это нумерация комбобокса от 0-14 это строки, а потом идет нумерация столбцом
Какая разница их всё равно много.
Как вариант можно уйти от DGV и создать для каждой записи UserControl и тогда внутри него можно реализовать любую логику и это будет относительно просто. За каждым UserControl в этом случае должна быть своя модель данных.

Добавлено через 5 минут
Цитата Сообщение от ИПЛ Посмотреть сообщение
Код я не могу предоставить так как в первом случае я этл делаю через настройки DGV
Ааа, я понял, вы всё делаете в дизайнере форм не написав ни единой строчки кода. Ну тогда успехов вам, скорее всего у вас ничего путного не выйдет.
Цитата Сообщение от ИПЛ Посмотреть сообщение
Поэтому и обратился за помощью на форум.
Сначала рекомендую почитать любую книжку по программированию на VB.Net, а уже потом задавать вопрос по существу.

Добавлено через 2 минуты
Цитата Сообщение от Andrey-MSK Посмотреть сообщение
И редактировать данные в DGV считается плохой практикой
Я не согласен, в этом нет ничего плохого, но соглашусь с тем, что в особо сложных сценариях это действительно затрудняет некоторый контроль над состоянием записи.
0
0 / 0 / 0
Регистрация: 08.09.2015
Сообщений: 27
31.07.2024, 09:36  [ТС]
Ну здорово!!! Бог мне в помощь.
0
2296 / 1612 / 400
Регистрация: 26.06.2017
Сообщений: 4,774
Записей в блоге: 1
31.07.2024, 09:56
Цитата Сообщение от ИПЛ Посмотреть сообщение
Бог мне в помощь.
Скорее всего да.
Лично я сделал бы на UserControl-ах. Для такой разработки рекомендую почитать эту тему.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.07.2024, 09:56

Как можно реализовать выбор bindingSource для DataGridView из элемента ComboBox?
привет всем!! Подскажите как можно реализовать выбор bindingSource для DataGrideView из элемента combobox.. По умолчание DataGridView...

Привязка BindingSource к ListBox
Подсобите пожалуйста! На msdn нашел: using System; using System.Collections.Generic; using System.ComponentModel; using...

Привязка ComboBox к DataContext для отображения простых справочников
Может, я конечно и ламер, но вот застряла совсем. Есть БД в SQL Server`e, для нее создан класс DataContext (LINQ to SQL) в приложении...

ComboBox + BindingSource
Есть справочная таблица hospital_branches (Branch_id, Branch_title) и оперативная где поле Branch_id фигугрирует. Я хотел чтобы ComboBox...

Привязка свойство ComboBox.Text к ComboBox.ToolTip
Подскажите пожалуйся, как выполнить привязку свойства ComboBox.Text к ComboBox.ToolTip Важно: пожалуйста не предлагайте использовать...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru