![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 24.06.2009
Сообщений: 216
|
![]()
Привет всем. Вот столкнулся с такой проблемой. Всегда использовал компонент RxDBLookUpComboBox все было отлично, все работало как надо. А тут решил поставить компоненты AlphaControls, ну для того чтобы красить свою программулину. Поставил так же AlphaDB, в котором тоже есть компонента DBLookupComboBox. Итак появились следующие проблемы:
1. При раскрытии списка, видна только первая запись, хотя в RX боксе, был виден весь список, т.е. если в табличке 100 записей, то они все были видны в нем. Помогает только следующая строка DataSet.Last; Можно ли как то это решить без перевода датасета на последнюю запись? 2. К примеру когда мне надо было чтобы в Rx боксе появилась фамилия Иванов и я не знаю под каким номером она в таблице. Я делал раньше так: Код:
Кстати, эти же проблемы появляются и со стандартным Lookup'ом. Почему же так получается что Rx-овский лукап, работает по другому, причем так как мне надо? И как можно решить вышеописанные проблемы. Заранее премного благодарен!!!
Водку мы пьем для запаха - а дури нам своей хватает!
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 24.06.2009
Сообщений: 216
|
![]()
Неужели никто не сталкивался с подобным?
Водку мы пьем для запаха - а дури нам своей хватает!
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
![]() |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 24.06.2009
Сообщений: 216
|
![]()
А можно по подробней? Как это реализовать?
Водку мы пьем для запаха - а дури нам своей хватает!
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
![]()
Например, так:
Код:
В таблице, данные из которой попадают в комбобокс, должен быть идентификатор (уникальное значение каждой строки). Здесь он назван ID. Поиск строки в комбобоксе по идентификатору, если его значение известно: Код:
Значение идентификатора в строке комбобокса, которую выбрал пользователь: Код:
Последний раз редактировалось Скандербег; 24.07.2012 в 20:15. Причина: Добавлено |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 24.06.2009
Сообщений: 216
|
![]()
Скандербег, спасибо за пример. Только вот я не совсем разобрался как сне сделать так, чтобы при выборе некоторого значения в комбобоксе, курсор в DataSet'e автоматически устанавливался бы на выбранную позицию. Т.е. к примеру у меня список пользователей программы. При выборе к примеру Иванова И.И., датасет нашел бы эту запись в таблице?
И еще я не понял что такое IdC? компилятор ругается. Заранее премного благодарен.
Водку мы пьем для запаха - а дури нам своей хватает!
|
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
![]() Цитата:
Для того чтобы датасет устанавливался на выбранную в комбобоксе позицию надо взять из списка Items.Objects комбобокса записанное ранее значение идентификатора (ID). В предыдущем посте показано как (Integer(CB.Items.Objects[CB.ItemIndex]). По полученному значению идентификатора переставить позицию в датасете. Фамилия (как в примере авторского поста) не может претендовать на роль поискового критерия, т.к. могут быть однофамильцы. Поэтому нужно использовать уникальные идентификаторы строк. Только непонятно, что это за список и как он связан с упоминаемым датасетом, а потому конкретно советовать не получится. |
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 24.06.2009
Сообщений: 216
|
![]()
Скандербег, и все же я не совсем понял как сделать так, чтобы датасет устанавливался на выбранную в комобоксе позицию. Можно пример пожалуйста???
Спасибо!
Водку мы пьем для запаха - а дури нам своей хватает!
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
![]()
Для совета нужна более полная информация.
Датасет какой? Тип его. ADOTable, ADOQuery или что-нибудь другое? Повторю вопрос. Что находится в комбобоксе и как он по логике связан с датасетом, позиция в котором должна передвигать позицию в датасете? И, все же, какая СУБД? Если в какой-то мере абстрактно, то в Датасете должен быть метод Locate, с помощью которого можно позиционировать указатель (позицию) в нем. Именно идентификатор и поможет это сделать. Но это если Датасет имеет такой метод. Пока же ничего не известно. Последний раз редактировалось Скандербег; 24.07.2012 в 21:38. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 24.06.2009
Сообщений: 216
|
![]()
Все разобрался
Код:
Водку мы пьем для запаха - а дури нам своей хватает!
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как присвоить ячейке значение пикселя? | player891 | Общие вопросы Delphi | 1 | 15.03.2012 18:28 |
как присвоить букве постоянное значение? | Garik007 | Microsoft Office Excel | 1 | 04.03.2012 19:55 |
как в Delphi присвоить полю DBEdit целочисленное значение поля из DBText (как правильно )? | ГОСЕАН | Помощь студентам | 0 | 10.01.2012 06:12 |
как присвоить значение??? | VintProg | Общие вопросы C/C++ | 1 | 05.08.2011 15:21 |
Как присвоить значение функции? | boris-blade | Microsoft Office Word | 3 | 17.01.2010 17:09 |