2011-10-18 29 views
1

[OK]をので、私はCOUNTRYNAME列Iは、ドロップダウンボックスの項目のオプションに、これらすべての国の名前を入れてしまう方法Delphi:qry結果を使用してドロップダウンボックスを作成する最も簡単な方法は何ですか?

SELECT CountryName FROM Counties 

返すデータベースクエリ、持っている(それらをループせずに?)

+0

よく、人々はこのためにデータ認識コントロールを使用しています –

答えて

5

TDBLookupComboBoxのようなものを使用します。フォームに1つをドロップし、このようなプロパティを設定します。

DataSource = srcCustomers 
    DataField = 'country_id' 

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

このコードは、国名をフォームに表示し、国IDをdb Customers.country_idに配置します。

srcで始まる2つのコントロールは、TADODataSetsに接続されたTDataSourcesです。データソースは、さまざまなデータアクセスコントロールに接続できます。

+0

私は文字通り非常に悪いコーディングをしようとしていました!このルックアップのDBコンボボックスを指摘してくれてありがとうございます。私はそれが存在することは決してありませんでした:D私は時間と労力の多くを保存しました。 – Doomsknight

+1

あなたは大歓迎です。私はDelphiと同様の機能ショック経験をしています。1.0から使用しました。私は一度何時間も費やして、乱数を均等にではなく釣鐘状の曲線に戻す関数を書いていました。それをテストして、データにいくつかの奇妙な点があることに気づいた。掘り出しを開始し、私が必要としていたようにrandg()関数を見つけました。 –

0

マイデルファイ少しさびているが、あなたはの線に沿って何かを持っている必要があります - >あなたはそれの上にあなたの結果、ループを取ると、他のWindowsフレームワークのような問題に対処することができます

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

。 TADOQuery(または使用しているもの)を検索して結果を取得します。 Delphiは非常に簡単で、オブジェクトを検査すると、おそらくソリューションが実現することがわかります。

0

使用のようなもの:CountryListは、すべての国の名前を含むTStringListインスタンスです

ComboBox.Items.Assign(CountryList); 

これは、TComboBoxを実装する最も速い方法です。