Кратк. - сест. тал.
86 / 50 / 4
Регистрация: 13.03.2008
Сообщений: 543
1

Как быть с DBLookupComboBox?

24.07.2012, 20:36. Показов 1931. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем. Вот столкнулся с такой проблемой. Всегда использовал компонент RxDBLookUpComboBox все было отлично, все работало как надо. А тут решил поставить компоненты AlphaControls, ну для того чтобы красить свою программулину. Поставил так же AlphaDB, в котором тоже есть компонента DBLookupComboBox. Итак появились следующие проблемы:

1. При раскрытии списка, видна только первая запись, хотя в RX боксе, был виден весь список, т.е. если в табличке 100 записей, то они все были видны в нем. Помогает только следующая строка DataSet.Last; Можно ли как то это решить без перевода датасета на последнюю запись?

2. В RxDBLookUpcombobox'e можно было набирать с клавиатуры начало слова и он автоматически переходил на найденную запись. А с этим лукапом такого вделать нельзя.

2. К примеру когда мне надо было чтобы в Rx боксе появилась фамилия Иванов и я не знаю под каким номером она в таблице. Я делал раньше так:
Код:

Код
RxDBLookupComboBox1.Value:='Иванов';
все работало отлично. Сейчас же, мало того что нет такого свойства Value, так я попробовал присвоить 'Иванов' свойству Text, и тут же получил ошибку. Как быть в этой ситуации? Как присвоить значение?

Кстати, эти же проблемы появляются и со стандартным Lookup'ом. Почему же так получается что Rx-овский лукап, работает по другому, причем так как мне надо? И как можно решить вышеописанные проблемы.

Заранее премного благодарен!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.07.2012, 20:36
Ответы с готовыми решениями:

Как должна быть организована сеть офиса? Что должно быть настроено обязательно, а чего быть не должно?
Добрый день. Сразу оговорюсь, что я инженер-строитель и настройкой сети занимаюсь только потому,...

Быть любимым - это больше, чем быть богатым, потому что быть любимым означает быть счастливым?
Vourhey Melodie, "Быть любимым - это больше, чем быть богатым, потому что быть любимым означает ...

Как заставить приложение быть всегда поверх окон и быть невидимым?
Как заставить приложение быть всегда поверх окон и быть невидимым?

Как настраивать DBLookupComboBox?
Что значит: DataSource, DataField, ListSource, ListField и KeyField????

6
568 / 291 / 12
Регистрация: 28.01.2011
Сообщений: 1,326
25.07.2012, 04:08 2
А потому что RX лукап это сторонний компонент с дополненным функционалом, который вы и используете. А теперь вы взяли стандартный только со шкурками, можете дописать функционал сами.
А можете просто отказаться от шкурок.
В общем Феррари 350 = машина, но машина != Феррари 350.
В вашем случае тоже самое.
0
Эксперт Pascal/Delphi
1134 / 615 / 129
Регистрация: 13.02.2009
Сообщений: 3,545
25.07.2012, 04:09 3
Цитата Сообщение от Vit@L Посмотреть сообщение
Привет всем. Вот столкнулся с такой проблемой. Всегда использовал компонент RxDBLookUpComboBox все было отлично, все работало как надо. А тут решил поставить компоненты AlphaControls, ну для того чтобы красить свою программулину. Поставил так же AlphaDB, в котором тоже есть компонента DBLookupComboBox. Итак появились следующие проблемы:

1. При раскрытии списка, видна только первая запись, хотя в RX боксе, был виден весь список, т.е. если в табличке 100 записей, то они все были видны в нем. Помогает только следующая строка DataSet.Last; Можно ли как то это решить без перевода датасета на последнюю запись?

2. В RxDBLookUpcombobox'e можно было набирать с клавиатуры начало слова и он автоматически переходил на найденную запись. А с этим лукапом такого вделать нельзя.

2. К примеру когда мне надо было чтобы в Rx боксе появилась фамилия Иванов и я не знаю под каким номером она в таблице. Я делал раньше так:
Код:

Код
RxDBLookupComboBox1.Value:='Иванов';
все работало отлично. Сейчас же, мало того что нет такого свойства Value, так я попробовал присвоить 'Иванов' свойству Text, и тут же получил ошибку. Как быть в этой ситуации? Как присвоить значение?

Кстати, эти же проблемы появляются и со стандартным Lookup'ом. Почему же так получается что Rx-овский лукап, работает по другому, причем так как мне надо? И как можно решить вышеописанные проблемы.

Заранее премного благодарен!!!
Пишите на форму из свойства OnCreate
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm1.FormCreate(Sender: TObject);
begin
with ADOQuery1 do
begin
DisableControls;
RxDBLookupComboBox1.Items.BeginUpdate;
First;
while not Eof do
begin
RxDBLookupComboBox1.Items.Add(FieldByName('ФИО').AsString);
Next;
end;
RxDBLookupComboBox1.Items.EndUpdate;
EnableControls;
end;
 Комментарий модератора 
Теги кода добавлены модератором. Не забываем ставить теги кода. По правилам форума - это обязательное требование. Для оформления кода Delphi следует выделить этот код и на панели редактирования сообщения нажать кнопку: "DELPHI".
0
Кратк. - сест. тал.
86 / 50 / 4
Регистрация: 13.03.2008
Сообщений: 543
25.07.2012, 05:19  [ТС] 4
Цитата Сообщение от xxbesoxx Посмотреть сообщение
Пишите на форму из свойства OnCreate
procedure TForm1.FormCreate(Sender: TObject);
begin
with ADOQuery1 do
begin
DisableControls;
RxDBLookupComboBox1.Items.BeginUpdate;
First;
while not Eof do
begin
RxDBLookupComboBox1.Items.Add(FieldByName('ФИО').AsString);
Next;
end;
RxDBLookupComboBox1.Items.EndUpdate;
EnableControls;
end;
Что-то я не понял. А для чего этот код? Что он делает?
0
568 / 291 / 12
Регистрация: 28.01.2011
Сообщений: 1,326
25.07.2012, 08:25 5
Vit@L, в вашем случае этот код в принципе вам ни чем не поможет.
Ну за исключением того что он решает вопрос №1.
Цитата Сообщение от Vit@L Посмотреть сообщение
При раскрытии списка, видна только первая запись, хотя в RX боксе, был виден весь список, т.е. если в табличке 100 записей, то они все были видны в нем. Помогает только следующая строка DataSet.Last; Можно ли как то это решить без перевода датасета на последнюю запись?
Но по факту вам надо определиться либо шашечки, либо поехали.
0
Эксперт Pascal/Delphi
1134 / 615 / 129
Регистрация: 13.02.2009
Сообщений: 3,545
25.07.2012, 11:52 6
Цитата Сообщение от Vit@L Посмотреть сообщение
Что-то я не понял. А для чего этот код? Что он делает?
Для того 1. При раскрытии списка, видна только первая запись,
0
Кратк. - сест. тал.
86 / 50 / 4
Регистрация: 13.03.2008
Сообщений: 543
25.07.2012, 18:12  [ТС] 7
Цитата Сообщение от rdama Посмотреть сообщение
Но по факту вам надо определиться либо шашечки, либо поехали
Да нет, мне надо и шашечки и поехали.

Цитата Сообщение от xxbesoxx Посмотреть сообщение
Для того 1. При раскрытии списка, видна только первая запись,
Видимо Вы меня не поняли. С RxDBLookupBoxom у меня все в порядке, он все делает как мне надо. Я его приводил для сравнения, а вот с дукапом из AlphaControls как раз проблемы, т.е. простым языком, мне надо чтобы лукап из AlphaControls, вел себя так же как и Rx-лукап
0
25.07.2012, 18:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.07.2012, 18:12
Помогаю со студенческими работами здесь

Как настроить DBLookupComboBox?
Ребята помогите настроить компонент. Не отображает данные.

Как синхронизировать 2 DBLookupCombobox?
Доброго, времени суток. Может кто сталкивался - когда нужно чтобы два списка DbLookupCombobox на...

Как обнулить DBLookupComboBox?
Доброго времени суток, подскажите как обнулить DBLookupComboBox, нужно по нажатию кнопки забыть...

Как соединить DBLookupCombobox с БД Access?
Подскажите пожалуйста как соединит DBLookupCombobox с БД Access?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru