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

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

TcxDBLoockupComboBox [D7, WinXP]


MV ©   (2008-05-30 11:46:00) 

Добрый день!
Есть таблица в которой два слолбца (ID, Name).
Как можно сделать, чтобы при выборе Name из списка TcxDBLoockupComboBox в DBGrid попадало значение ID? Или можно создать псевдоним для ID?


Stas   (2008-05-30 17:20:00) [1]

if (LookupComboBox.EditValue := 400) then
двоеточие ненадо...


MV   (2008-05-30 17:17:00) [2]

там же ListFieldNames = NAME (Оно отображается в списке), а значение KeyFieldNames = iD (400)(которое и заносится в таблицу)


Stas   (2008-05-30 17:08:00) [3]

и чему в этот момент равно LookupComboBox.EditValue?


MV   (2008-05-30 17:05:00) [4]

if (LookupComboBox.EditValue := 400) then // на этом моменте останавливается
sRec.DataSet.FieldByName('MESSAGE_TASK').Value :=
      TypeWorks + dsBankList.Fields.FieldByName('BANKNAME').AsString +
      ' c '+sDateTaskComplite
      +' текст.';
end;


Stas   (2008-05-30 17:02:00) [5]

А в событии установить точку остановки? заходит туда?


MV   (2008-05-30 17:00:00) [6]

не работает


Stas   (2008-05-30 16:54:00) [7]

1. на событие Properties.OnChange вставте вашу процедуру
2. в процедуру if LookupComboBox.EditValue := "значение" then....


MV   (2008-05-30 16:51:00) [8]

procedure TfmHBAgentPointBlockMainRec.BuildMessageTask;
var TypeWorks :string;
   sSetLimit :string;
   sSetComission :string;
   sDateTaskComplite : String;
begin

 if deDBEndDate.EditText <> ''
   then sDateTaskComplite := deDBEndDate.EditText
   else sDateTaskComplite :='';

 TypeWorks := '    текст   ';

 if not (sRec.DataSet.State in [dsEdit, dsInsert]) then sRec.DataSet.Edit;

if LookupComboBox.......... then
 
sRec.DataSet.FieldByName('MESSAGE_TASK').Value :=
       TypeWorks + dsBankList.Fields.FieldByName('BANKNAME').AsString +
       ' c '+sDateTaskComplite
       +' текст.';
end;


В соответствии с выбранным значением из списка должно меняться сообщение.  Как-то так.


MV   (2008-05-30 16:46:00) [9]


> Событие Properties.OnChange ?

туда писать LookupComboBox.EditValue  ?


Stas   (2008-05-30 16:42:00) [10]

Событие Properties.OnChange ?


MV   (2008-05-30 16:41:00) [11]

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

Т.е. если из списка выбрана эта запись то....


Stas   (2008-05-30 16:31:00) [12]

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


Stas   (2008-05-30 16:29:00) [13]

LookupComboBox.EditValue - содержит значения ключевого поля.


MV   (2008-05-30 16:29:00) [14]


> По-идее, это изменение позиции курсора в НД.

Как?


MV   (2008-05-30 16:28:00) [15]

if LookupComboBox.EditValue := "значение" then.... ??


Ega23   (2008-05-30 16:26:00) [16]


> А кто знает как отловить выбор конкретной строки из списка?


По-идее, это изменение позиции курсора в НД.


Stas   (2008-05-30 16:20:00) [17]

EditValue?


MV   (2008-05-30 16:06:00) [18]

А кто знает как отловить выбор конкретной строки из списка?


MV   (2008-05-30 12:22:00) [19]

Все. вопрос решен.
Свойства ListFieldNames, KeyFieldNames


Stas   (2008-05-30 12:20:00) [20]

че-то непонятноописано


Наверх

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