TDBLookupComboBox и TDBLookupListBox

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Сообщение alexs » 06.12.2007 18:03:05

VAshot
всё правильно - после выбора справочник востанавливается а место
в принципе если народ попросит - можно голочку ввести на отключение этого дела
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение alexs » 06.12.2007 18:04:44

кстати - стрые версия и я сохраняю на сайте - просто на них линк не делаю
если интересно то
http://alexs75.narod.ru/fpc/rxfpc/RxFPC_12.rar
.....
http://alexs75.narod.ru/fpc/rxfpc/RxFPC_19.rar
качай любую :-)
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Ivanov » 08.12.2007 14:11:52

могу ли сделать с помощью этих компонентов следующее:

список заполняется данными из запроса SQL, при выборе компонента в ItemIndex передается id записи из БД

пробывал с компонентами RxLIB, не смог добиться нужного результата, подскажите начинающему
Ivanov
новенький
 
Сообщения: 21
Зарегистрирован: 17.11.2007 09:50:15

Сообщение alexs » 08.12.2007 18:21:28

Ivanov писал(а):список заполняется данными из запроса SQL, при выборе компонента в ItemIndex передается id записи из БД

какими компонентами пользуешся конкретно?
как я понял тебе нужен
либо
TRxDBLookupCombo
или
TRxLookupEdit
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Ivanov » 08.12.2007 19:12:51

пробывал с TRxDBLookupCombo
Ivanov
новенький
 
Сообщения: 21
Зарегистрирован: 17.11.2007 09:50:15

Сообщение alexs » 08.12.2007 20:42:21

дык там ItemIndex вобще нет :shock: :D
ты будеш редактировать другой набор данных через справочник или тебе просто надо выбрать значение?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Ivanov » 10.12.2007 21:15:56

мне нужно, чтобы из БД заполнился список типа ComboBox и при выборе компонента получить ID записи, которая была выбрана
Ivanov
новенький
 
Сообщения: 21
Зарегистрирован: 17.11.2007 09:50:15

Сообщение alexs » 10.12.2007 21:23:07

В таком случае я делаю так:
Беру RxMemTable, создаю в нём поле - оно будет служить для хранения переменной
На него вешаю TRxDBLookupCombo
а в качестве лукапа на TRxDBLookupCombo уже вешаю справочник
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Brainenjii » 10.12.2007 21:29:44

Я вот так делаю:
Код: Выделить всё
...
Type

  { BItemID }

  BItemID = class
    Private
      BValue: Integer;
    Public
      Property Value: Integer Read BValue;
      Constructor Build(C_Value: Integer);
    End;

...

Procedure TForm1.Button1Click (Sender: TObject );
Begin
  ComboBox1.AddItem('1', BItemID.Build(100));
  ComboBox1.AddItem('2', BItemID.Build(200));
  ComboBox1.AddItem('3', BItemID.Build(300));
  ComboBox1.AddItem('4', BItemID.Build(400));
end;

...

Procedure TForm1.ComboBox1Change (Sender: TObject );
Begin
  ShowMessage(IntToStr(BItemID(ComboBox1.Items.Objects[ComboBox1.ItemIndex]).Value));
end;                       

...

{ BItemID }

Constructor BItemID.Build (C_Value: Integer );
Begin
  BValue := C_Value;
End;     

...
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Сообщение vital » 11.12.2007 16:27:44

m_guest
alexs
Спасибо за ссылки на старые версии.
vital
новенький
 
Сообщения: 86
Зарегистрирован: 17.10.2007 14:52:59

Сообщение debi12345 » 12.12.2007 13:14:32

В таком случае я делаю так:
Беру RxMemTable, создаю в нём поле - оно будет служить для хранения переменной
На него вешаю TRxDBLookupCombo
а в качестве лукапа на TRxDBLookupCombo уже вешаю справочник

Обожаю это способ :)
А на событие изменения этого поля memtable (в MSEgui = датасет в локальном режиме ) - обработчик вешается. Это позволяет не ломать событийно-ориентированный принцип построения программ.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение VAshot » 17.12.2007 13:22:25

Вот такой вопрос:
Как присвоить полю значение Null при помощи TDBLookupCombo?
Если задача аналогична этой:
В таком случае я делаю так:
Беру RxMemTable, создаю в нём поле - оно будет служить для хранения переменной
На него вешаю TRxDBLookupCombo
а в качестве лукапа на TRxDBLookupCombo уже вешаю справочник


На данный момент реализовал через прямое заNullуние поля в RxMemory отдельной кнопкой.
Есть ли более грамотное решение?
Аватара пользователя
VAshot
постоялец
 
Сообщения: 128
Зарегистрирован: 01.11.2007 12:31:21
Откуда: Пермь

Сообщение alexs » 17.12.2007 16:08:18

Нажать ESC
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение VAshot » 29.01.2008 10:28:55

Если у форму стоит свойство fsStayOnTop, то выпадающий список TRxDBLookupCombo отображается за формой (где-то было про подобное с календарем). Это Лазарус виноват?

0.9.25 (6.12.07)
Rx 1.1.5.98
Аватара пользователя
VAshot
постоялец
 
Сообщения: 128
Зарегистрирован: 01.11.2007 12:31:21
Откуда: Пермь

Сообщение alexs » 29.01.2008 10:49:10

LCL так себя ведёт
просто я делал для винды отображение окна списка не модальным
в принципе в исходниках можно раскоментировать линуксовую ветку - там отображение модальное, и этот эффект уйдёт

А так бог его знает - может ввести проверку на то, что форма fsStayOnTop, и в этом случае отбражать окно модальным?

у кого какие предложения?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Пред.След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 54

Рейтинг@Mail.ru