Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.03.2011, 15:27   #1
Fynjy1
 
Регистрация: 14.09.2010
Сообщений: 4
По умолчанию Динамическое создание компонента

Добрый день.
Мне необходимо записать информацию о товаре в базу данных. Делаю форму на которой размещаю нужные мне компоненты и их заполняю и по нажатию на кнопку сохраняю эти данные в базу данных.
Проблема в том что у товара есть вид ( который выбираем из ComboBox) в зависимости от выбранного вида мне необходимо из базы данных выбрать все размеры для этого вида (толщина, ширина, длина и так далее , для каждого вида они разные и разное колличество размеров). подскажие как динамически( по всей видимости проходя по записям датасета(в который выбрал из базы данных размеры для типа )) создать поля для заполнения их размеров и потом их сохранить ?
Fynjy1 вне форума Ответить с цитированием
Старый 01.03.2011, 16:00   #2
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Цитата:
Проблема в том ...
поясните, чет я не поиму связи размеров комбобокса с вашими даными
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 01.03.2011, 16:44   #3
Fynjy1
 
Регистрация: 14.09.2010
Сообщений: 4
По умолчанию

Цитата:
Сообщение от ArtGrek Посмотреть сообщение
поясните, чет я не поиму связи размеров комбобокса с вашими даными
У меня для каждого вида есть свои размеры, размеры я беру из базы данных методом выбора в дата сет из таблице для указанного вида.

После того как дата сет содержит необходимые размеры, их надо показать пользователю что бы он заполнил данные для них.
Я с делать динамическое создание TLabeledEdit проходя по дата сету создавал TLabeledEdit с нужным именем. после нажатия на кнопку опять прохожу по дата сету и из нужных TLabeledEdit по имени выбираю данные и сохраняю в таблицу. мне кажется что этот метов не правильный, хотелось бы узнать другой метод
Fynjy1 вне форума Ответить с цитированием
Старый 01.03.2011, 20:07   #4
xexxex
Пользователь
 
Регистрация: 31.07.2010
Сообщений: 52
По умолчанию

Я чёто тоже ничего не понял...

Цитата:
Проблема в том что у товара есть вид ( который выбираем из ComboBox)
В комбобоксе что содержится? Строки или объекты в Items.Objects?
Какието характеристики товаров? Если да, то какие и в какой форме\как они там содержатся?
xexxex вне форума Ответить с цитированием
Старый 01.03.2011, 20:55   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
мне кажется что этот метов не правильный,
в данном случае слово "неправильный" неприменимо!
Ибо, раз работает - значит всё правильно!

А вообще, выкручиваться из подобной ситуации можно по разному.
Начиная от того, что для каждого типа нарисовать отдельную форму, с нужными полями и вызывать её, в зависимости от того, что выбрано.
и заканчивая тем, что список нужных полей (текст лейблы, описывающий вводимые данные, тип вводимых данных, единицы измерения, признак обязательности и т.д.) и хранить вообще в БД.
Тогда, если появится ещё один тип (ну, например, кегль с пивом), для него можно задать дополнительные характеристики: марка пива, вес нетто/брутто, объём, производитель, дата выработки, срок годности и т.д. и т.п.

Какой способ выбрать - Вам, как программисту - виднее!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.03.2011, 09:02   #6
Fynjy1
 
Регистрация: 14.09.2010
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
список нужных полей (текст лейблы, описывающий вводимые данные, тип вводимых данных, единицы измерения, признак обязательности и т.д.) и хранить вообще в БД.
Тогда, если появится ещё один тип (ну, например, кегль с пивом), для него можно задать дополнительные характеристики: марка пива, вес нетто/брутто, объём, производитель, дата выработки, срок годности и т.д. и т.п.
Я и храню эти данные в базе данных, у меня вопрос как это вывести на экран , динамически создавать все компоненты в зависимости от того какой тип выбран? ту пришла мысль в голову , если бы был какой нибудь компонент типа ListBox, но не просто список а список и рядом edit. и тогда можно было бы заполнять этот EditList, его лабл названиями характеристик, а в edit уже пользователь заночил нужны данные.
Fynjy1 вне форума Ответить с цитированием
Старый 02.03.2011, 15:03   #7
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
если бы был какой нибудь компонент типа ListBox, но не просто список а список и рядом edit.
смотрим в сторону ТАБЛИЧНЫХ компонент.
Delphi 7
additional ->StringGrid и ее производные
additional ->ValueListEditor
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 02.03.2011, 16:50   #8
Fynjy1
 
Регистрация: 14.09.2010
Сообщений: 4
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
смотрим в сторону ТАБЛИЧНЫХ компонент.
Delphi 7
additional ->StringGrid и ее производные
additional ->ValueListEditor
Спасибо большое, ValueListEditor думаю подойдет, не знал про него
Fynjy1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое создание RzButtonEdit -=Virus=- Компоненты Delphi 7 13.10.2010 09:56
Динамическое создание компонента из компонента)) Impuls1989 Компоненты Delphi 8 22.10.2009 00:08
Динамическое создание массива Juggernaut Общие вопросы Delphi 3 20.05.2009 15:13
Динамическое создание paintbox-a. blackstersl Общие вопросы Delphi 1 12.05.2009 19:17
Динамическое создание компонента проходит нормально, но WB.Navigate не выполняется. В чём проблема? AVer Работа с сетью в Delphi 1 02.10.2007 14:48