![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TDBLookupListBox
IXT © (2004-07-13 17:36:00)Как программно побегать по TDBLookupListBox???
IXT (2004-07-15 10:09:00) [1]Все работает! Thenks!
ЮЮ (2004-07-15 09:48:00) [2]>Ну и что?
См.[17]. Именно так управляют DBLookupХХХ-контролами, у которых не установлен DataSource, а только ListSource
IXT (2004-07-15 09:26:00) [3]Ну и что?
HMT (2004-07-14 18:55:00) [4]DBLookupListBox.KeyValue=''
IXT (2004-07-14 16:09:00) [5]Был бы DBGrid, не было бы вопроса [0]
Курдль (2004-07-14 15:57:00) [6]GoTo вопрос [9]
IXT (2004-07-14 15:53:00) [7]Не спорю, но должна быть возможность перемещения в DBLookupListBox.
Курдль (2004-07-14 15:17:00) [8]
> IXT (14.07.04 15:00) [12]
> Даже если переписать, то подсветить найденную запись надо.
> А если это реализовать, то и переписывать не надо.
Если применить DBGrid, то все нормально подсветится.
IXT (2004-07-14 15:00:00) [9]Даже если переписать, то подсветить найденную запись надо. А если это реализовать, то и переписывать не надо.
Курдль (2004-07-14 13:06:00) [10]
> Кроме этого дофига процедур используют значение DBLookupListBox.SelectedItem;
Всё равно лучше такую программу переписать заново.
IXT (2004-07-14 12:58:00) [11]Теперь уже нет! Вся прога работает с DBLookupListBox, много переделывать предется. DBLookupListBox подключается с DataSource через ListSource.
Пользователю дается управлять БД только через DBLookupListBox. Найти я элемент могу, но его надо подсветить в DBLookupListBox. Кроме этого дофига процедур используют значение DBLookupListBox.SelectedItem;
Курдль (2004-07-14 12:51:00) [12]Точно! Я проверил - ничего не движется, вопреки моим подозрениям.
ОДНАКО! Зачем тебе DBLookupListBox, отключенный от DataSource?
Не проще ли подключить DBGrid?
Курдль (2004-07-14 12:37:00) [13]Та-а-а-ак...
DBLookupListBox.ListSource.DataSet.Next;
DBLookupListBox.ListField.FocusControl;
IXT (2004-07-14 12:20:00) [14]Не работает, хотя может это не так:
1. DBLookupListBox использует ListField, а не DataField (последнее есть но не используется)
2. Получив фокус, DBLookupListBox не поменяет свое значение позиции, а присвоит его DataSource. А надо наоборот.
Маленький пример!
Есть DBLookupListBox, DataSource, DBGrid. Пусть DataSource завязана с какой-то таблицей. DBLookupListBox и DBGrid показывают значение некоторого поля.
Если побегать по DBLookupListBox то изменения будут отображаться и в Gird-е, но не наоборот. Есть некоторая процедура - поиск. Если перебирать Gird или DataSource, то изменения в DBLookupListBox не отображаются.
Курдль (2004-07-14 11:50:00) [15]
> IXT (14.07.04 10:42) [5]
> FocusControl!, а как он работает?
Наводит фокус на визуальный компонент, "привязанный" к полю.
Например DBEdit получит фокус, если его св-во DataField указывает на это поле. Думаю, что и в TDBLookupListBox будет та же фигня.
IXT (2004-07-14 10:42:00) [16]
FocusControl!, а как он работает?
Курдль (2004-07-14 10:32:00) [17]
DataSet.FieldByName('').FocusedControl;
IXT (2004-07-14 10:27:00) [18]Нееее! Не пойдет!!!
DBLookupListBox.ListSource.DataSet.Next;
равносильно
DataSource.DataSet.Next;
надо побегать именно по DBLookupListBox, т.е. чтобы значение DBLookupListBox.SelectedItem тоже изменялось!
Соловьев (2004-07-13 17:39:00) [19]есть волшебная книга - "VCL Reference"
Курдль (2004-07-13 17:39:00) [20]
DBLookupListBox.ListSource.DataSet.Next;
DBLookupListBox.ListSource.DataSet.First;
DBLookupListBox.ListSource.DataSet.Last;
DBLookupListBox.ListSource.DataSet.Prior;