T D B L o o k u p C o m b o B o x组件与T D B L o o k u p L i s t B o x组件一样是用来提供给用户一个数据集
中的特定字段的字段值列表的,它与T D B C o m b o B o x组件之间的区别与T D B L o o k u p L i s t B o x组
件与T D B L i s t组件之间的区别一样。T D B L o o k u p C o m b o B o x组件下拉列表的内容是另一个相关
数据集中特定字段的字段值,它在设置好属性后自动添加到T D B L o o k u p C o m b o B o x中,而不
用像使用T D B C o m b o B o x组件时一样需用户自己输入列表内容。
T D B L o o k u p C o m b o B o x组件与T D B L o o k u p L i s t B o x组件一样,提供给用户的特定字段的字
段值列表也主要是来源于另一个相关的数据集。所以它的重要属性除了和其他数据控制组件
一样的D a t a S o u r c e属性和D a t a F i e l d属性以外,还有K e y F i e l d、L i s t F i e l d、L i s t F i e l d I n d e x和
L i s t S o u r c e这样的属性。这些属性的设置都非常简单,此处不再一一叙述,读者可以查询
D e l p h i的帮助系统。
T D B L o o k u p C o m b o B o x组件与T D B L o o k u p L i s t B o x组件的不同之处与T D B C o m b o B o x组件
与T D B L i s t B o x组件一样,T D B L o o k u p C o m b o B o x组件除了在下拉列表中显示相关数据集中的
特定字段的字段值列表外,还允许用户自行输入新的字段值用来编辑当前记录。
下面还是用实例来说明T D B L o o k u p C o m b o B o x组件的使用。
窗体设计如图5 - 4 2所示。
窗体中各组件的属性设置情况见下面的窗体文件:
object Form1: TForm1
Left = 198
下载
图5-42 使用TDBLookupComboBox组件的窗体设计
Top = 123
Width = 455
Height = 365
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFA U LT _ C H A R S E T
Font.Color = clWi n d o w Te x t
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 192
Top = 64
Width = 64
Height = 16
Caption = ' Order No :'
Font.Charset = DEFA U LT _ C H A R S E T
Font.Color = clWi n d o w Te x t
Font.Height = -1 3
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
e n d
object DBGrid1: TDBGrid
Left = 8
Top = 104
Width = 425
Height = 153
DataSource = DataSource1
第5章数据控制组件151
下载
TabOrder = 0
TitleFont.Charset = DEFA U LT _ C H A R S E T
TitleFont.Color = clWi n d o w Te x t
TitleFont.Height = -11
TitleFont.Name = 'MS Sans Serif'
TitleFont.Style = []
e n d
object Button1: TButton
Left = 176
Top = 288
Width = 75
Height = 25
Caption = '退出'
TabOrder = 1
OnClick = Button1Click
e n d
object DBLookupComboBox1: TDBLookupComboBox
Left = 280
Top = 64
Width = 105
Height = 21
KeyField = 'OrderNo'
ListField = 'OrderNo'
ListSource = DataSource2
TabOrder = 2
e n d
object DBNavigator1: TDBNavigator
Left = 72
Top = 16
Width = 300
Height = 32
DataSource = DataSource1
TabOrder = 3
e n d
object Table1: TTa b l e
Active = Tr u e
DatabaseName = 'DBDEMOS'
TableName = 'customer. d b '
Left = 272
Top = 176
e n d
object DataSource1: TDataSource
DataSet = Ta b l e 1
Left = 152
Top = 176
e n d
object DataSource2: TDataSource
DataSet = Ta b l e 2
Left = 32
Top = 56
e n d
object Table2: TTa b l e
152 Delphi 5 数据库开发技术
下载
Active = Tr u e
DatabaseName = 'DBDEMOS'
IndexFieldNames = 'CustNo'
MasterFields = 'CustNo'
MasterSource = DataSource1
TableName = 'orders.db'
Left = 128
Top = 56
e n d
e n d
程序的运行情况如图5 - 4 3所示。
图5-43 使用TDBLookupComboBox组件的程序运行情况
5.14 TDBCtrlGrid组件介绍
T D B C t r l G r i d组件其实和T D B G r i d组件实现的功能差不多。只不过T D B C t r l G r i d组件是用
一种用户自己定义的方式来显示各条记录的。
在窗体中添加T D B C t r l G r i d组件用来显示和编辑一个数据集中的记录。和T D B G r i d组件不
一样的是,T D B C t r l G r i d组件不是将一条记录显示在单独的一行中,它允许用户使用自己定义
的方式来显示各条记录。每条记录都显示在自己独立的P a n e l上,在设计阶段设置记录的显示
方式,它会自动应用到每一条记录的显示上。
T D B C t r l G r i d组件的属性与T D B G r i d的属性类似,它也是显示数据集中记录的所有字段对
象,所以没有D a t a F i e l d属性。不同之处在于T D B C t r l G r i d的属性中有一些可以让用户定义用于
记录显示的P a n e l的属性。
在运行时,用户可以使用T D B N a v i g a t o r组件在T D B C t r l G r i d中移动记录、添加或删除一条
记录,还可以编辑修改当前记录,就像在T D B G r i d中一样。
下面举例说明T D B C t r l G r i d组件的使用。
窗体的设计如图5 - 4 4所示,我们在设计阶段只需设计一条记录的显示形式即可,运行时
第5章数据控制组件153
下载
它会自动应用到其他记录。
图5-44 使用TDBCtrlGrid组件的窗体设计
窗体中各组件的属性设置参见下面的窗体文件:
object Form1: TForm1
Left = 192
Top = 11 9
Width = 544
Height = 442
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFA U LT _ C H A R S E T
Font.Color = clWi n d o w Te x t
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object DBCtrlGrid1: TDBCtrlGrid
Left = 48
Top = 40
Width = 433
Height = 360
ColCount = 1
DataSource = DataSource1
PanelHeight = 180
P a n e l Width = 412
TabOrder = 0
RowCount = 2
object Label1: TLabel
Left = 16
Top = 16
154 Delphi 5 数据库开发技术
下载
Width = 34
Height = 13
Caption = 'Name :'
e n d
object Label2: TLabel
Left = 16
Top = 56
Width = 28
Height = 13
Caption = 'Area :'
e n d
object Label3: TLabel
Left = 16
Top = 104
Width = 26
Height = 13
Caption = 'Size :'
e n d
object Label4: TLabel
Left = 16
Top = 140
Width = 40
Height = 13
Caption = 'Weight :'
e n d
object DBImage1: TDBImage
Left = 208
Top = 8
Width = 185
Height = 161
DataField = 'BMP'
DataSource = DataSource1
TabOrder = 0
e n d
object DBEdit1: TDBEdit
Left = 64
Top = 16
Width = 129
Height = 21
DataField = 'NAME'
DataSource = DataSource1
TabOrder = 1
e n d
object DBEdit2: TDBEdit
Left = 64
Top = 56
Width = 129
Height = 21
DataField = 'AREA'
DataSource = DataSource1
TabOrder = 2
第5章数据控制组件155
下载
e n d
object DBEdit3: TDBEdit
Left = 64
Top = 96
Width = 129
Height = 21
DataField = 'SIZE'
DataSource = DataSource1
TabOrder = 3
e n d
e n d
object DBNavigator1: TDBNavigator
Left = 56
Top = 8
Width = 240
Height = 25
DataSource = DataSource1
TabOrder = 1
e n d
object DBEdit4: TDBEdit
Left = 11 2
Top = 176
Width = 129
Height = 21
DataField = 'WEIGHT'
DataSource = DataSource1
TabOrder = 2
e n d
object Button1: TButton
Left = 392
Top = 8
Width = 59
Height = 25
Caption = '退出'
TabOrder = 3
e n d
object DataSource1: TDataSource
DataSet = Ta b l e 1
Left = 352
Top = 8
e n d
object Table1: TTa b l e
Active = Tr u e
DatabaseName = 'DBDEMOS'
TableName = 'animals.dbf'
Left = 320
Top = 8
e n d
e n d
程序的运行情况如图5 - 4 5所示。
156 Delphi 5 数据库开发技术
下载
图5-45 使用TDBCtrlGrid组件的程序运行情况
可以通过使用T D B N a v i g a t o r组件在T D B C t r l G r i d中浏览记录,并可以对当前记录进行编辑
修改操作,还可以添加或删除一条新的记录。
5.15
第5章数据控制组件157
下载

解决方案 »

  1.   

    拷一堆给你:T D B L o o k u p C o m b o B o x 组件与T D B L o o k u p L i s t B o x 组件一样是用来提供给用户一个数据集
    中的特定字段的字段值列表的,它与T D B C o m b o B o x 组件之间的区别与T D B L o o k u p L i s t B o x 组
    件与T D B L i s t 组件之间的区别一样。T D B L o o k u p C o m b o B o x 组件下拉列表的内容是另一个相关
    数据集中特定字段的字段值,它在设置好属性后自动添加到T D B L o o k u p C o m b o B o x 中,而不
    用像使用T D B C o m b o B o x 组件时一样需用户自己输入列表内容。
    T D B L o o k u p C o m b o B o x 组件与T D B L o o k u p L i s t B o x 组件一样,提供给用户的特定字段的字
    段值列表也主要是来源于另一个相关的数据集。所以它的重要属性除了和其他数据控制组件
    一样的D a t a S o u r c e 属性和D a t a F i e l d 属性以外,还有K e y F i e l d 、L i s t F i e l d 、L i s t F i e l d I n d e x 和
    L i s t S o u r c e 这样的属性。这些属性的设置都非常简单,此处不再一一叙述,读者可以查询
    D e l p h i 的帮助系统。
    T D B L o o k u p C o m b o B o x 组件与T D B L o o k u p L i s t B o x 组件的不同之处与T D B C o m b o B o x 组件
    与T D B L i s t B o x 组件一样,T D B L o o k u p C o m b o B o x 组件除了在下拉列表中显示相关数据集中的
    特定字段的字段值列表外,还允许用户自行输入新的字段值用来编辑当前记录。
    下面还是用实例来说明T D B L o o k u p C o m b o B o x 组件的使用。
    object DBLookupComboBox1: TDBLookupComboBox
    Left = 280
    Top = 64
    Width = 105
    Height = 21
    KeyField = 'OrderNo'
    ListField = 'OrderNo'
    ListSource = DataSource2
    TabOrder = 2
    e n d
      

  2.   

    T D B L o o k u p C o m b o B o x组件与T D B L o o k u p L i s t B o x组件一样是用来提供给用户一个数据集
    中的特定字段的字段值列表的,它与T D B C o m b o B o x组件之间的区别与T D B L o o k u p L i s t B o x组
    件与T D B L i s t组件之间的区别一样。T D B L o o k u p C o m b o B o x组件下拉列表的内容是另一个相关
    数据集中特定字段的字段值,它在设置好属性后自动添加到T D B L o o k u p C o m b o B o x中,而不
    用像使用T D B C o m b o B o x组件时一样需用户自己输入列表内容。
    T D B L o o k u p C o m b o B o x组件与T D B L o o k u p L i s t B o x组件一样,提供给用户的特定字段的字
    段值列表也主要是来源于另一个相关的数据集。所以它的重要属性除了和其他数据控制组件
    一样的D a t a S o u r c e属性和D a t a F i e l d属性以外,还有K e y F i e l d、L i s t F i e l d、L i s t F i e l d I n d e x和
    L i s t S o u r c e这样的属性。这些属性的设置都非常简单,此处不再一一叙述,读者可以查询
    D e l p h i的帮助系统。
    T D B L o o k u p C o m b o B o x组件与T D B L o o k u p L i s t B o x组件的不同之处与T D B C o m b o B o x组件
    与T D B L i s t B o x组件一样,T D B L o o k u p C o m b o B o x组件除了在下拉列表中显示相关数据集中的
    特定字段的字段值列表外,还允许用户自行输入新的字段值用来编辑当前记录。
    下面还是用实例来说明T D B L o o k u p C o m b o B o x组件的使用。
    窗体设计如图5 - 4 2所示。
    窗体中各组件的属性设置情况见下面的窗体文件:
    object Form1: TForm1
    Left = 198
    下载
    图5-42 使用TDBLookupComboBox组件的窗体设计
    Top = 123
    Width = 455
    Height = 365
    Caption = 'Form1'
    Color = clBtnFace
    Font.Charset = DEFA U LT _ C H A R S E T
    Font.Color = clWi n d o w Te x t
    Font.Height = -11
    Font.Name = 'MS Sans Serif'
    Font.Style = []
    OldCreateOrder = False
    PixelsPerInch = 96
    TextHeight = 13
    object Label1: TLabel
    Left = 192
    Top = 64
    Width = 64
    Height = 16
    Caption = ' Order No :'
    Font.Charset = DEFA U LT _ C H A R S E T
    Font.Color = clWi n d o w Te x t
    Font.Height = -1 3
    Font.Name = 'MS Sans Serif'
    Font.Style = []
    ParentFont = False
    e n d
    object DBGrid1: TDBGrid
    Left = 8
    Top = 104
    Width = 425
    Height = 153
    DataSource = DataSource1
    第5章数据控制组件151
    下载
    TabOrder = 0
    TitleFont.Charset = DEFA U LT _ C H A R S E T
    TitleFont.Color = clWi n d o w Te x t
    TitleFont.Height = -11
    TitleFont.Name = 'MS Sans Serif'
    TitleFont.Style = []
    e n d
    object Button1: TButton
    Left = 176
    Top = 288
    Width = 75
    Height = 25
    Caption = '退出'
    TabOrder = 1
    OnClick = Button1Click
    e n d
    object DBLookupComboBox1: TDBLookupComboBox
    Left = 280
    Top = 64
    Width = 105
    Height = 21
    KeyField = 'OrderNo'
    ListField = 'OrderNo'
    ListSource = DataSource2
    TabOrder = 2
    e n d
    object DBNavigator1: TDBNavigator
    Left = 72
    Top = 16
    Width = 300
    Height = 32
    DataSource = DataSource1
    TabOrder = 3
    e n d
    object Table1: TTa b l e
    Active = Tr u e
    DatabaseName = 'DBDEMOS'
    TableName = 'customer. d b '
    Left = 272
    Top = 176
    e n d
    object DataSource1: TDataSource
    DataSet = Ta b l e 1
    Left = 152
    Top = 176
    e n d
    object DataSource2: TDataSource
    DataSet = Ta b l e 2
    Left = 32
    Top = 56
    e n d
    object Table2: TTa b l e
    152 Delphi 5 数据库开发技术
    下载
    Active = Tr u e
    DatabaseName = 'DBDEMOS'
    IndexFieldNames = 'CustNo'
    MasterFields = 'CustNo'
    MasterSource = DataSource1
    TableName = 'orders.db'
    Left = 128
    Top = 56
    e n d
    e n d
    程序的运行情况如图5 - 4 3所示。
    图5-43 使用TDBLookupComboBox组件的程序运行情况
    5.14 TDBCtrlGrid组件介绍
    T D B C t r l G r i d组件其实和T D B G r i d组件实现的功能差不多。只不过T D B C t r l G r i d组件是用
    一种用户自己定义的方式来显示各条记录的。
    在窗体中添加T D B C t r l G r i d组件用来显示和编辑一个数据集中的记录。和T D B G r i d组件不
    一样的是,T D B C t r l G r i d组件不是将一条记录显示在单独的一行中,它允许用户使用自己定义
    的方式来显示各条记录。每条记录都显示在自己独立的P a n e l上,在设计阶段设置记录的显示
    方式,它会自动应用到每一条记录的显示上。
    T D B C t r l G r i d组件的属性与T D B G r i d的属性类似,它也是显示数据集中记录的所有字段对
    象,所以没有D a t a F i e l d属性。不同之处在于T D B C t r l G r i d的属性中有一些可以让用户定义用于
    记录显示的P a n e l的属性。
    在运行时,用户可以使用T D B N a v i g a t o r组件在T D B C t r l G r i d中移动记录、添加或删除一条
    记录,还可以编辑修改当前记录,就像在T D B G r i d中一样。
    下面举例说明T D B C t r l G r i d组件的使用。
    窗体的设计如图5 - 4 4所示,我们在设计阶段只需设计一条记录的显示形式即可,运行时
    第5章数据控制组件153
    下载
    它会自动应用到其他记录。
    图5-44 使用TDBCtrlGrid组件的窗体设计
    窗体中各组件的属性设置参见下面的窗体文件:
    object Form1: TForm1
    Left = 192
    Top = 11 9
    Width = 544
    Height = 442
    Caption = 'Form1'
    Color = clBtnFace
    Font.Charset = DEFA U LT _ C H A R S E T
    Font.Color = clWi n d o w Te x t
    Font.Height = -11
    Font.Name = 'MS Sans Serif'
    Font.Style = []
    OldCreateOrder = False
    PixelsPerInch = 96
    TextHeight = 13
    object DBCtrlGrid1: TDBCtrlGrid
    Left = 48
    Top = 40
    Width = 433
    Height = 360
    ColCount = 1
    DataSource = DataSource1
    PanelHeight = 180
    P a n e l Width = 412
    TabOrder = 0
    RowCount = 2
    object Label1: TLabel
    Left = 16
    Top = 16
    154 Delphi 5 数据库开发技术
    下载
    Width = 34
    Height = 13
    Caption = 'Name :'
    e n d
    object Label2: TLabel
    Left = 16
    Top = 56
    Width = 28
    Height = 13
    Caption = 'Area :'
    e n d
    object Label3: TLabel
    Left = 16
    Top = 104
    Width = 26
    Height = 13
    Caption = 'Size :'
    e n d
    object Label4: TLabel
    Left = 16
    Top = 140
    Width = 40
    Height = 13
    Caption = 'Weight :'
    e n d
    object DBImage1: TDBImage
    Left = 208
    Top = 8
    Width = 185
    Height = 161
    DataField = 'BMP'
    DataSource = DataSource1
    TabOrder = 0
    e n d
    object DBEdit1: TDBEdit
    Left = 64
    Top = 16
    Width = 129
    Height = 21
    DataField = 'NAME'
    DataSource = DataSource1
    TabOrder = 1
    e n d
    object DBEdit2: TDBEdit
    Left = 64
    Top = 56
    Width = 129
    Height = 21
    DataField = 'AREA'
    DataSource = DataSource1
    TabOrder = 2
    第5章数据控制组件155
    下载
    e n d
    object DBEdit3: TDBEdit
    Left = 64
    Top = 96
    Width = 129
    Height = 21
    DataField = 'SIZE'
    DataSource = DataSource1
    TabOrder = 3
    e n d
    e n d
    object DBNavigator1: TDBNavigator
    Left = 56
    Top = 8
    Width = 240
    Height = 25
    DataSource = DataSource1
    TabOrder = 1
    e n d
    object DBEdit4: TDBEdit
    Left = 11 2
    Top = 176
    Width = 129
    Height = 21
    DataField = 'WEIGHT'
    DataSource = DataSource1
    TabOrder = 2
    e n d
    object Button1: TButton
    Left = 392
    Top = 8
    Width = 59
    Height = 25
    Caption = '退出'
    TabOrder = 3
    e n d
    object DataSource1: TDataSource
    DataSet = Ta b l e 1
    Left = 352
    Top = 8
    e n d
    object Table1: TTa b l e
    Active = Tr u e
    DatabaseName = 'DBDEMOS'
    TableName = 'animals.dbf'
    Left = 320
    Top = 8
    e n d
    e n d
    程序的运行情况如图5 - 4 5所示。
    156 Delphi 5 数据库开发技术
    下载
    图5-45 使用TDBCtrlGrid组件的程序运行情况
    可以通过使用T D B N a v i g a t o r组件在T D B C t r l G r i d中浏览记录,并可以对当前记录进行编辑
    修改操作,还可以添加或删除一条新的记录。
    5.15
    第5章数据控制组件157
    下载
      

  3.   

    这是从《DELPHI数据库开发技术》中转载下来的,如果你想知道详细的话,你可以到网上搜一搜这本书
      

  4.   

    你把下面的都设好就行
    dblookupcombobox.datasource -- 主要的操作表
                     datafield  -- 其中的要改变显示的字段                 listsource -- 用来显示的表
                     listfield  --  其中的显示字段 
                     keyfield   --  和主要表datafield的关联字段
      

  5.   

    在窗口上放个DBLookupComboBox,按F1自己看去吧! codingfans(Jaklly) 说得很明白,照做就行。要注意两个关联字段类型要相同
      

  6.   

    二楼的和一楼的长得一样,还多了点,真奇怪!要用两个DATASOURCE才行,很多人不会用都是以为只要用一个。
      

  7.   

    UPUPUPUPUP!!!!!---------------------
    多给我点分吧,我给你UP!