字段部件
字段部件在应用程序中始终是不可见的部件在程序运行过程中是如此在程序设计阶段也是如此但是它在应用中起着非常重要的作用可以说它是所有数据浏览部件从数据库表中显示编辑数据的基础这是因为字段部件直接对应着数据库表中的字段浏览和修改表中的数据必须要通过字段部件同时字段部件所拥有的属性可以用来说明数据库表中对应的字段的数据类型当前的字段值显示格式编辑格式等字段部件的事件如OnValidate可以用来设定输入字段值时进行有效性检验
数据库表的每一列在应用程序中都有其对应的一个字段部件在缺省情况下当TTable或TQuery的Active属性被置为False或调用close方法时与表中各列对应的字段部件也随即消失要想为应用程序创建永久性的字段部件我们必须要在程序设计阶段使用字段编辑器(Fields Editor)来创建使用字段编辑器创建永久性字段的好处是我们在程序代码中利用永久性字段部件可以更加有效方便可靠地访问数据库表中记录的各字段值在任何时候我们都可以以同样的字段顺序固定的字段显示表中的记录即使数据库表的结构已发生了变化当然如果在数据库表中与字段部件对应的字段已经不存在时应用程序就不能正常地执行下去了Delphi会弹出一个错误信息框告诉用户表中的字段已经不存在了
字段部件的属性及应用
字段部件具有很多的属性通过设置字段部件有关的属性可以控制字段对象在数据浏览部件中的显示方式字段值能否被修改等特别是对于用字段编辑器创建的永久性的字段部件我们在程序设计阶段便可以在Object Inspector中方便地选取字段部件 进行有关属性的设置
字段部件的主要属性如表所示该表中列出的属性只是字段部件的部分属性它主要用来控制字段对象的显示方式
表 字段部件的主要属性
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
属性名 功 能
───────────────────────────────
Alignment 说明字段值在数据浏览部件中显示时的对齐方式左对齐右对齐居中三种方式
───────────────────────────────
Calculated 说明字段是否是计算字段属性值为True时该字段是计算字段字段值可以根据表中其它字段的值计算得出
───────────────────────────────
Currency 等于true时以货币格式显示数值等于False时不以货币格式显示数值型数据
───────────────────────────────
DisplayFormat 用于说明字段值在数据浏览部件中的显示格式
───────────────────────────────
DisplayLabel 字段在网格(TDBGrid部件)中显示时为字段指定显示标题
───────────────────────────────
DisplayNidth 字段在网格(TDBGrid部件)中显示时为字段指定显示宽度单位是字符数
───────────────────────────────
EditFormat 说明字段在数据浏览部件中的编辑输入格式
───────────────────────────────
EditMask 在进行字段值的编辑输入时限定输入字段值的过滤条件(即字段值的范围)
───────────────────────────────
FieldName 该字段部件对应实际数据库表中的字段的名字
───────────────────────────────
Index 该字段部件在数据集所有字段部件中的顺序号
───────────────────────────────
MaxValue 说明可以为该字段输入最大的数值
───────────────────────────────
MinValue 说明可以为该字段输入最小的数值
───────────────────────────────
Name 字段部件的名字
───────────────────────────────
ReadOnly 等于true时只能读取该字段的字段值不能修改等于False时可以对该字段的字段值进行读写
───────────────────────────────
Size 说明字段的大小单位是字符数
───────────────────────────────
Visible 为True时该字段可以在TBDBGrid部件中显示为False时该字段不能在TDBGrid部件中显示
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
表中的属性并不是所有类型的字段部件都拥有的如一个TStringField类型的字段部件是没有CurrencyMaxValueMinValue和DisplayFormat属性的一个TFloatField类型的字段部件是没有Size属性的
对于布尔型属性在设计过程中的Object Inspector中双击该属性该属性的值将会在True和False之间来回切换其他属性需要用户输入属性值或从下拉式列表框中选取属性值所有的属性都可以通过程序代码进行设置大多数属性可以独立地设置只有DisplayFormatEditFormat和EditMask是相互联系的在设置它们的属性值时一定要确保相互协调
利用EditMask属性为字段设定编辑模式
为字段部件设置一定的EditMask属性值当编辑输入该字段的字段值时用户只能根据EditMask设定的编辑模式进行编辑或输入字段值在为EditMask属性设置属性值时可以用手动方式也可以用输入模式编辑器来完成当为某字段部件设置EditMask属性时双鼠标双击EditMask属性便可以打开输入模式编辑器(Input Mask Editor) 例如在为CustomerDB表的Phone字段设定编辑模式时首先在Object Inspector中选取与Phone字段对应的TablePhone字段对象然后双击EditMask属性打开输入模式编辑器
[] [] [] []