Delphi:通过qry结果填充下拉框的最快方法是什么?

Delphi:通过qry结果填充下拉框的最快方法是什么?,delphi,drop-down-menu,Delphi,Drop Down Menu,好的,我有一个数据库查询,它返回countryname列 SELECT CountryName FROM Counties 如何将所有这些国家/地区名称放入下拉框项目选项中(不循环?我的Delphi有点生疏,但您应该有一些类似于-> comboBox.Items //A list so you can just add to it. 然后,您可以获取结果,对其进行循环,并像处理任何其他Windows框架一样处理该问题。查找TADOQuery(或任何你正在使用的)以获得结果。Delphi非常

好的,我有一个数据库查询,它返回countryname列

 SELECT CountryName FROM Counties

如何将所有这些国家/地区名称放入下拉框项目选项中(不循环?

我的Delphi有点生疏,但您应该有一些类似于->

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

然后,您可以获取结果,对其进行循环,并像处理任何其他Windows框架一样处理该问题。查找TADOQuery(或任何你正在使用的)以获得结果。Delphi非常简单,检查对象,您可能会看到一个解决方案具体化。

我的Delphi有点生疏,但您应该有一些类似->

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

然后,您可以获取结果,对其进行循环,并像处理任何其他Windows框架一样处理该问题。查找TADOQuery(或任何你正在使用的)以获得结果。Delphi非常简单,检查对象,您可能会看到一个解决方案具体化。

使用类似的方法:

ComboBox.Items.Assign(CountryList);
其中,
CountryList
是一个包含所有国家名称的
TStringList
实例


这是填充TComboBox的最快方法。

使用以下方法:

ComboBox.Items.Assign(CountryList);
其中,
CountryList
是一个包含所有国家名称的
TStringList
实例


这是填充TComboBox的最快方法。

我会使用类似TDBLookupComboBox的东西。在窗体上放置一个,然后像这样设置属性

  DataSource = srcCustomers
  DataField = 'country_id'

  ListSource = srcCountries
  ListField = 'NAME'
  KeyField = 'ID'
此代码将在表单上显示国家名称,并将国家id放置在db Customers.country_id中


以src开头的两个控件是连接到TADODataSets的TDataSources。您可以将数据源连接到许多不同的数据访问控件。

我会使用类似TDBLookupComboBox的东西。在窗体上放置一个,然后像这样设置属性

  DataSource = srcCustomers
  DataField = 'country_id'

  ListSource = srcCountries
  ListField = 'NAME'
  KeyField = 'ID'
此代码将在表单上显示国家名称,并将国家id放置在db Customers.country_id中


以src开头的两个控件是连接到TADODataSets的TDataSources。您可以将数据源连接到许多不同的数据访问控件。

人们通常使用数据感知控件来实现此目的。

人们通常使用数据感知控件来实现此目的。

好吧,我实际上要做一些非常糟糕的编码!感谢您指出这个查找数据库组合框。我从未意识到它的存在:它为我节省了大量的时间和精力。不客气。我对Delphi有过类似的特性冲击体验,从1.0开始我就使用它了。我曾经花了几个小时编写一个函数来返回分布在钟形曲线上而不是均匀分布的随机数。我正在测试它,发现数据中有一些奇怪的地方。开始挖掘并找到了randg()函数,它正是我所需要的。好吧,我真的要做一些非常糟糕的编码了!感谢您指出这个查找数据库组合框。我从未意识到它的存在:它为我节省了大量的时间和精力。不客气。我对Delphi有过类似的特性冲击体验,从1.0开始我就使用它了。我曾经花了几个小时编写一个函数来返回分布在钟形曲线上而不是均匀分布的随机数。我正在测试它,发现数据中有一些奇怪的地方。开始挖掘并找到了randg()函数,它正是我所需要的。