2011-10-18 30 views

回答

5

我會使用類似TDBLookupComboBox的東西。將一個放在窗體上並設置像這樣的屬性。

DataSource = srcCustomers 
    DataField = 'country_id' 

    ListSource = srcCountries 
    ListField = 'NAME' 
    KeyField = 'ID' 

此代碼將在窗體上顯示國家/地區名稱,並將國家/地區ID置於db Customers.country_id中。

以src開頭的兩個控件是連接到TADODataSets的TDataSources。您可以將數據源連接到許多不同的數據訪問控制。

+0

好吧,我是從字面上做一些非常糟糕的編碼!謝謝指出這個查找數據庫組合框。我從未意識到它存在:D爲我節省了大量的時間和精力。 – Doomsknight

+1

不客氣。我對Delphi有類似的功能衝擊體驗,我從1.0開始使用它。我曾經花了幾個小時寫一個函數來返回分佈在鐘形曲線上的隨機數,而不是均勻分佈。正在測試它,並注意到數據中的一些古怪。開始挖掘並找到了我所需要的randg()函數。 –

0

我的德爾福是有點生疏,但你應該有一些沿線 - >

comboBox.Items //A list so you can just add to it. 

然後你可以把你的結果,遍歷並處理像任何其他Windows框架的問題。查看TADOQuery(或者您正在使用的任何)來獲得結果。 Delphi非常簡單,檢查對象,你可能會看到一個解決方案的具體化。

0

使用類似的東西:

ComboBox.Items.Assign(CountryList); 

哪裏CountryList是包含所有國家名稱的TStringList實例。

這是填充TComboBox的最快方式。

相關問題