![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
подстановка [D5, Paradox]
guest123 © (2003-03-25 14:11:00)Здраствуйте мастера!
Видел одну БД там при заполнении поля имеется возможность выбора нужной записи из выпадающего списка. Попробую описать как это происходит:Вводиш последовательность значений и принажатии клавиши "стрелка вниз" выпадает список с данными где присутствует эта последовательность, далее пролистываеш той же самой стрелкой до нужного значения потом enter и запись подставляется, причем в других полях таблицы тоже подставляются данные соответсвующие этому значению). Вобщем хотел узнать как это можно сделать в дельфи.
Заранее благодарен!!!
Stas (2003-03-26 13:20:00) [1]to MsGuns
В свое время у меня было около 20 разных компонент, и я их все повытерал.
Что касается Эх-компонент, я в курсе что при работе грида подключается много Эх-компонент. Но все проги которые я делал, а они стоят на разных компах и системах, еще ни разу не глючили. А если бы и глючили, то исходники есть.
Винда тоже глючит, ты же себе не будешь систему писать сам, чтобы знать как устранить глюки ?
MsGuns (2003-03-26 12:23:00) [2]>Stas © (26.03.03 11:01)
>P.S. Я пользуюсь лишь одной готовой компонентой это EhLib.
И могу сказать, что это неглючная, нормальная библиотека.
Прежде чем утверждать подобное, надо поюзать не одну компоненту, и сделать это с АНАЛИЗОМ всех подключаемых библиотек и генерируемого кода. Так вот, с компонентой грида идет достаточно немалая "тележка" других Эх-компонент. Не разбирался до конца, но могу сказать с 90% гарантией, что некоторые из них элементарно глючат на некоторых видеокартах (в W98 по крайней мере) - у меня полтетради записей регистрации подвисания и перегрузок винды с одной и той же диагностикой.
Соловьев (2003-03-26 11:44:00) [3]
> там я такого невстричал
$(DELPHI)\Demos\Db
guest123 (2003-03-26 11:42:00) [4]Соловьев © (26.03.03 09:21)
какую именно, чета там я такого невстричал
Stas (2003-03-26 11:01:00) [5]To MsGuns
Я ничего не извращал, а наоборот, посоветовал EHLib и предупредил, что с этим не все согласны.
P.S. Я пользуюсь лишь одной готовой компонентой это EhLib.
И могу сказать, что это неглючная, нормальная библиотека.
Соловьев (2003-03-26 09:21:00) [6]открыть демки по БД
guest123 (2003-03-26 08:25:00) [7]а по конкретней можна, с чего начать
MsGuns (2003-03-25 20:58:00) [8]>guest123 (25.03.03 17:33)
Для начала повозись со стандартными компонентами, не спеши связыватся с Эх! и прочими либами. Stas © извратил саму мысль, которая заключалась в том, ЧТО НЕ СЛЕДУЕТ ИСКАТЬ ПАНАЦЕИ ОТ ВСЕХ СВОИХ БЕД В ПОИСКАХ ГОТОВЫХ КОМПОНЕНТ.
В данном случае на лицо еще и обработка событий грида, и посылка ему сообщений программно (эмуляция нажатия юзером на кнопульке) и т.д.
guest123 (2003-03-25 17:33:00) [9]уже начал
Johnmen (2003-03-25 17:25:00) [10]>...пака еще ничего неиспользую
Ну не понимаю я, как можно задавать вопросы, даже не начав что-либо писать ???!!!
Соловьев (2003-03-25 17:20:00) [11]фильтр на справочную таблицу...
guest123 (2003-03-25 17:16:00) [12]а если 3000 записей?
надо вот так например таблица имет поля: артикул,наименование,цена и др., я пишу в артикул 50603 и нажимаю на клавиатуре стрелку вниз появляется выпадающий список в нем 6 5060312, 5060314, 803 50603001 и тд.короче тока те записи где есть 50603вначале, серидине, в конце без разницы пролистываю клавишей стрелка вниз до нужной записи жму ентер и потом она подставляется как в DBLookupComboBox.Вобщем нада чтоб в выпадающем списке были записи где есть 50603
Соловьев (2003-03-25 14:52:00) [13]Table и для Query. Для них аналогично.
Двойной клик на TTable. Добавляешь поля. Потом там есть New...
Там есть 3 вида: Data, Calculated, LookUp. тебе надо третье.
Предварительно на форму надо положить справочную таблицу и привяжать DataSource. Потом Ложишь на форму DBGrid. Компилишь. И в уже рабочей проге дважды кликаешь на LookUp поле там должен появиться список. Можно еще в настройках DBGrida выставить для поля PickList, но он уже без справочной таблицы.
Stas (2003-03-25 14:52:00) [14]Для Table и для Query они одинаковые.
Если стандартные то DBLookupComboBox.
guest123 (2003-03-25 14:48:00) [15]Какие компоненты используешь?
пака еще ничего неиспользую, но хателось бы узнать и для Table и для Query
Sheriff (2003-03-25 14:44:00) [16]Страница Data Controls
DBLookupComboBox
Соловьев (2003-03-25 14:40:00) [17]Какие компоненты используешь?
guest123 (2003-03-25 14:39:00) [18]I>ну может хоть чего-то понятно ...:-))))
неа %))
Хотя MSGuns и Fiend. Говорят что все нужно делать самому
очень хотелась бы узнать как самому это все сделать
Stas (2003-03-25 14:31:00) [19]EHLIB-набор готовых компонентов.
Хотя MSGuns и Fiend. Говорят что все нужно делать самому.
tomkat (2003-03-25 14:24:00) [20]Это называется LookUp поля ....
есть две таблицы - главная <MAIN m > и подстановочная <DICT d>
в главной заводится поле ID_dic - идентификатор записей из DICT
соединяются они запросом типа
SELECT m.* ,d.name
FROM
main m
,dict d
WHERE
d.id=id_dic
потом на этом запросе (он выступает в роли датасета) указывается, что столбец NAME есть LookUP и ключ для него ID_dic, а берутся значения из другого датасета (тоже должон быть на форме) - таблицы DICT ....
ну может хоть чего-то понятно ...:-))))