Как объединить 2 поля из набора данных с помощью LiveBindings?

Есть ли способ использовать Live Binding Designer для объединения 2 полей базы данных с компонентом?

Например, у меня есть MemTable для клиента, я хочу объединить имя и фамилию (полное имя) с меткой.

Live Binding Designer

Если есть способ сделать это, я понимаю, что привязка будет только в одном направлении (поля базы данных -> ComponentProperty).


person Alain V    schedule 10.03.2015    source источник
comment
Создать вычисляемое поле в FDMemTableClient?   -  person Jason    schedule 10.03.2015
comment
Спасибо, эта работа. Я думаю, что живое связывание может сэкономить время, но это также потеря времени для простой задачи, которую мы делаем другим способом!   -  person Alain V    schedule 10.03.2015
comment
@jason: Если в моем FDMemtable нет полей, а есть только FiledsDef, как мы можем создать вычисляемое поле?   -  person Alain V    schedule 10.03.2015
comment
TFDMemTable имеет свойство FieldOptions. Установите для AutoCreateMode значение acCombineComputed, а затем просто создайте вычисляемое поле во время разработки. В противном случае найдите, как создать вычисляемое поле во время выполнения.   -  person Jason    schedule 10.03.2015


Ответы (2)


Самый простой способ сделать это с LiveBinding — использовать свойство CustomFormat LinkFillControlToField:

Просто используйте этот формат текста, как например вопрос: Self.Owner.FirstName.text + " " + Self.Owner.LastName.text

person Alain V    schedule 30.03.2015

Для чего-то такого простого... вы можете использовать событие AfterScroll вашего набора данных

  if Dataset.Active and (Dataset.RecordCount > 0) then  
    label1.Caption :=Dataset.FieldByName('FirstName').AsString + ' ' + Dataset.FieldByName('LastName').AsString;
person House of Dexter    schedule 11.03.2015
comment
Первоначальное пост-ограничение заключалось в использовании LiveBindings. - person Didier Cabalé; 19.07.2020