如题

解决方案 »

  1.   

    TDBLookupComboBox组件提供了一个组合框,用其可从另一个数据集中取出字段值,所取值可赋给当前数据集的字段,其层次关系如下:TObject->TPersistent->TComponent->TControl->TWinControl->TCustomControl
    ->TDBLookupControlTDBLookupComboBox提供给用户一个方便的查找项下拉列表,用户可用另一个数据集的值填充所用数据集的字段。如果TDBLookupListBox被连接到一个查找字段对象,则其自动从该对象中读取该字段值同查找数据集的查找值间的关系。在组合框没有连接到查找字段对象时,字段值同查找数据集的查找值间的关系也可用查找组合框的属性明确的设置。
      

  2.   

    DBLookupListBox控件有两个已经熟悉的DataField 和DataSource特性表示所选择的项从哪里获取,除此之外,还有ListSource、ListField和KeyField特性。这个三个特性决定数据选项从哪里获取。ListSource是包含列表数据的DataSource。ListSource 和DataSource特性不能指向相同的TDataSource组件。这意味着使用一个控件DBLookupListBox需要两个数据集和两个数据源。
    ListField是显示在列表框中的选项的列表,KeyField表示实际被写到DataSource的DataField字段中的数据。KeyField和DataField不必有相同的名称,但是它们必须有相同的数据类型和大小。KeyField和ListField可以是相同的字段,或者您可以使用友好显示的值作为列表字段,使用索引值作为KeyField字段。
    ==========================
    你在change事件里写代码
    如果你只想在DBLookupComboBox1里显示数据库里的数据,设置listsource,再设置keyfield为你连的那张表中的关键字段,再连listfield为你要在DBLookupComboBox1里显示的字段。写好sql语句,打开数据集就ok 了。。