Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выделить элемент TDBLookupListBox (TDBLookupComboBox) [D5, IB6.x]


Sour ©   (2003-04-19 08:34:00) 

Есть DBLookupListBox, который отображает записи поля некоторого запроса. Все работает нормально, но
при обновлении запроса строки в DBLookupListBox добавляются, но ни одна не выделяется.
Как принудительно выделить 1-вую строку или 5-ую. Перемещаться по результату запроса
не помагает (Query.First, Query.Next и др.)


Соловьев   (2003-04-19 12:40:00) [1]

2 Sour
Тебе же сказали:

> выделять строку "программно" слкдует, задавая значение KeyValue.
>




Sour   (2003-04-19 12:31:00) [2]

Я установил ListSource и DataSource на один и тоже DataSet. При этом возникает ошибка "Circular datalinks are not allowed"


ЮЮ   (2003-04-19 09:35:00) [3]

DBLookupXXX - имеет два DataSource:
1) ListSource - обязательный, его записи, собственно, и отображаются
2) DataSource + DataField - если они указаны, то текущая запись в списке соответствует значению DataField текущей записи DataSource.DataSet. Для "перемещения" по списку "программно", надо установить другое значение у поля DataField.

Если же DataSource + DataField не указаны, т.е. список нам необходим для каких-то других целей, выделять строку "программно" слкдует, задавая значение KeyValue. Чтобы после переоткрытия ListSource.DataSet снова выбрать нужную строку следует вновь установить прежнее KeyValue, сохранив его перед закрытием (хотя странно, что оно изменяется при закрытии/открытии ListSource.DataSet)


Наверх

Титульная страница Поиск, карта сайта Написать письмо