본문 바로가기

Delphi/C++Builder

[라이브바인딩] 콤보박스에 목록표시, 선택 값 반영하기

콤보박스에 목록을 표시하고, 선택한 항목의 키값을 다른 데이터셋에 적용하는 방법입니다.

DB Controls의 DBLookupComboBox의 기능을 라이브바인딩으로 구현하는 내용입니다.


아래 라이브바인딩 내용은 사원 테이블(qryMember)의 팀정보(MEM_TEAM_SEQ)를 콤보박스에서 선택하도록 구현한 것입니다.


  1. 콤보박스 목록 표시할 내용 - 팀명(DPT_TEAM)을 목록으로 표시
  2. 콤보박스 선택한 값을 반영 - 선택한 항목을 MEM_TEAM_SEQ에 반영(Item.LookupData와 연결된 필드의 값)
  3. 목록의 키값(LookupData) - 목록의 키값으로 사용할 필드를 Item.LooupData와 연결)

위와 같이 적용 시 콤보박스에 팀정보가 표시되고, 콤보박스를 선택하면 사원정보의 팀정보가 변경됩니다.

하지만, 콤보박스 변경 시 실시간으로 사원정보가 갱신(Refresh)되지 않고, 다른 레코드를 선택할 때 변경됩니다.

만약, 실시간으로 변경(콤보박스 변경 시 바로 사원정보의 소속팀 변경)이 필요하면 위의 그림과 같이 2번 링크를 선택 후 Track 속성을 True로 변경하면 실시간으로 반영됩니다.


참고링크