能否通过数据源(DataSource)及数据集(Table)与DbListBox相关联,让DbListBox直接显示表的某一字段值,无须写代码,象VFP一样。具体怎么操作,请指教。

解决方案 »

  1.   

    通过TDataSource,在窗口中加一个TDataSource,Name为DataSource1,  将DataSource的DataSet设置为你的哪个TTable,  DbListBox设置DataSource为DataSource1, DataField设置为你要显示的字段
      

  2.   

    应该使用DBLookupListBox。[Delphi]\Demo下有实例。
      

  3.   

    y应该用dbgrid; table--datasource--dbgrid;
    选择一个表; 打开这个表;然后;
     双击dbgrid添加一个column, 设置column的fieldName;
      

  4.   

    感谢各位的指教,最后我用一个简单的小程序实现了。代码如下:
    Table1.Open;
    Table1.First;
    While not Table1.Eof do 
      Table1.Add(Table1.FieldByName('Capital').AsString);
      Table1.Next;
    End;
    Table1.Close;真诚感谢各位高手的无私奉献。CSDN功德无量,倡议通过CSDN受益并发大财的朋友捐“功德碑”用以纪念CSDN对中国程序员的贡献。
      

  5.   

    怪!怪!怪!  用TDBListBox控件不能显示数据库中的数据通过TDataSource,在窗口中加一个TDataSource,Name为DataSource1,  将DataSource的DataSet设置为ADOTable,(数据库类型为Microsoft Access 2000)  DbListBox设置DataSource为DataSource1, DataField设置要显示的字段,但结果什么也不显示.
    只好使用应该用DBGrid; table--datasource--dbgrid;
    选择一个表; 打开这个表;然后;双击dbgrid添加一个column, 设置column的fieldName;但这DBGrid在Win98下没安装显卡驱动时会发生问题.
    唯有用ListBox,但需要跟数据库同步,需要考虑很多问题,
    但如果用TDBListBox控件不能显示数据库中的数据,为什么不叫做TListBox呀
      

  6.   

    同意yzykjh(言子儿) 的看法。
    用TDBLookupListBox,不要用TDBListBox,那玩意不好控制!
      

  7.   

    用TDBLookuplistBox可以实现楼主的要求
    用TListBox也行,要写代码
      

  8.   

    她只是用来控制DataSource的当前记录的DataField的取值的,取值范围是列表所列的值。
    她并不会列出所有记录的当前字段。
    要想列出所有记录的当前字段值,用TDBLookupListBox。
      

  9.   

    to:楼主
    实验:Table(RecID, RecName)
    DBGrid
      Datasource指向该表
    DBListBox
      Datasource指向该表
      DataField:RecName
    先在DBListBox的items或者是Strings中输入几行字下面开始实验
    1。在DBGrid选中一个记录,记住RecName值。
    2。在DBListBox中选中一个值。
    3。刷新记录。
    4。再看看该记录的RecName是什么值。
    5。重复1,2,3,4就知道,DBListbox是什么控件了如果要想达到你的要求,用DBLookupBox吧,她有ListSource属性的。