2011-09-18 4 views
3

Firemonkey의 조회 필드에 TCombobox를 바인딩하는 방법을 찾을 수 없습니다. VCL에는 TDBLookupComboBox가 있으며, TDatasource 구성 요소와 콤보 상자 목록을 채우기위한 조회 필드 이름이 필요합니다. 이렇게하면 런타임에 FK 필드를 easly 편집 할 수 있습니다.Firemonkey 및 Delphi XE2가있는 DB 조회 필드

파이어 몬키에서 모두 당신은 라이브 바인딩이고 나는 동일한 행동을 설정하는 방법을 알 수 없습니다. 지금까지 해본 적이있는 가장 좋은 방법은 콤보 상자 목록에 TBindList를 채우고 TBindDBListLink를 조회 필드에 연결하는 것입니다. 이 방법으로 그것은 작동하는 것하지만 콤보 상자는 내가 선택한 항목을 변경할 수 없습니다.

이것은 데이터베이스 응용 프로그램이 가져야하는 가장 기본적인 것들 중 하나입니다. 그러나 아직 그것에 대해 이야기하는 사람이없는 이유는 없습니다.

답변

0

이 SVN 주소에서 델파이 XE2 LiveBinding 데모를 다운로드 할 수 있습니다 : 당신이 그것을 다운로드 후

https://radstudiodemos.svn.sourceforge.net/svnroot/radstudiodemos/branches/RadStudio_XE2/LiveBindings

, 당신은 bindlookup라는 데모 프로젝트를 찾을 수 있습니다. LiveBinding을 사용하여 조회 목록을 갖는 방법을 보여줍니다.

+0

안녕하세요 vcldeveloper, 시간 내 주셔서 감사합니다. ** bindlookup ** 데모는 채워진 목록 상자에서 선택된 항목과 TClientDataset의 현재 레코드 사이에 바인딩이 이루어지기 때문에 내가하려는 일을 정확하게 수행하지 않습니다. 귀하의 제안에 따라 내 콤보 상자의 선택된 항목 인덱스를 내 TClientDataset의 외래 키 ID로 바인딩하는 방법을 변경하는 방법을 알아 냈습니다. 마법은 TBindPosition 바인딩에 의해 수행됩니다. 지금은 작동하지만 TclientDataset을 수동으로 편집/삽입 모드로 설정해야합니다 (Combobox OnChange 이벤트?) 이전 TDBLookupCombobox : – Xenon