15.6.1 字段部件
字段部件在应用程序中始终是不可见的部件。在程序运行过程中是如此,在程序设计阶段也是如此,但是它在应用中起着非常重要的作用,可以说它是所有数据浏览部件从数据库表中显示、编辑数据的基础。这是因为字段部件直接对应着数据库表中的字段,浏览和修改表中的数据必须要通过字段部件,同时字段部件所拥有的属性可以用来说明数据库表中对应的字段的数据类型、当前的字段值、显示格式、编辑格式等,字段部件的事件如OnValidate可以用来设定输入字段值时进行有效性检验。
数据库表的每一列在应用程序中都有其对应的一个字段部件,在缺省情况下,当TTable或TQuery的Active属性被置为False或调用close方法时,与表中各列对应的字段部件也随即消失,要想为应用程序创建永久性的字段部件,我们必须要在程序设计阶段使用字段编辑器(Fields Editor)来创建。使用字段编辑器创建永久性字段的好处是:我们在程序代码中利用永久性字段部件可以更加有效、方便、可靠地访问数据库表中记录的各字段值,在任何时候我们都可以以同样的字段顺序、固定的字段显示表中的记录,即使数据库表的结构已发生了变化。当然如果在数据库表中与字段部件对应的字段已经不存在时,应用程序就不能正常地执行下去了,Delphi会弹出一个错误信息框,告诉用户表中的字段已经不存在了。
15.6.1.1 字段部件的属性及应用
字段部件具有很多的属性,通过设置字段部件有关的属性,可以控制字段对象在数据浏览部件中的显示方式、字段值能否被修改等。特别是对于用字段编辑器创建的永久性的字段部件,我们在程序设计阶段便可以在Object Inspector中方便地选取字段部件, 进行有关属性的设置。
字段部件的主要属性如表15.6所示,该表中列出的属性只是字段部件的部分属性,它主要用来控制字段对象的显示方式。
表15.6 字段部件的主要属性
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
属性名 功 能
───────────────────────────────
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)Alignment 说明字段值在数据浏览部件中显示时的对齐方式:
左对齐、右对齐、居中三种方式。
───────────────────────────────
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)Calculated 说明字段是否是计算字段,属性值为True时,该
字段是计算字段、字段值可以根据表中其它字段
的值计算得出。
───────────────────────────────
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)Currency 等于true时,以货币格式显示数值,等于False时,
不以货币格式显示数值型数据。
───────────────────────────────
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)DisplayFormat 用于说明字段值在数据浏览部件中的显示格式
───────────────────────────────
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)DisplayLabel 字段在网格(TDBGrid部件)中显示时,为字段指定
显示标题。
───────────────────────────────
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)DisplayNidth 字段在网格(TDBGrid部件)中显示时,为字段指定
显示宽度,单位是字符数。
───────────────────────────────
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)EditFormat 说明字段在数据浏览部件中的编辑输入格式
───────────────────────────────
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)EditMask 在进行字段值的编辑输入时,限定输入字段值的
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)过滤条件(即字段值的范围)。
───────────────────────────────
FieldName 该字段部件对应实际数据库表中的字段的名字
───────────────────────────────
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)Index 该字段部件在数据集所有字段部件中的顺序号
───────────────────────────────
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)MaxValue 说明可以为该字段输入最大的数值
───────────────────────────────
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)MinValue 说明可以为该字段输入最小的数值
───────────────────────────────
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)Name 字段部件的名字
───────────────────────────────
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)ReadOnly 等于true时,只能读取该字段的字段值,不能修改;
等于False时,可以对该字段的字段值进行读写。
───────────────────────────────
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)Size 说明字段的大小,单位是字符数
───────────────────────────────
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)Visible 为True时,该字段可以在TBDBGrid部件中显示;
为False时,该字段不能在TDBGrid部件中显示
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
表15.6中的属性并不是所有类型的字段部件都拥有的,如一个TStringField类型的字