第18章数据感知组件

一、TDBText组件

用来以只读、一次一条记录的方式,显示DataSet中的某一字段值。因同样继承自TCustomLabel,TDBText组件除了数据感知功能外,与标准组件TLabel几乎一模一样。

DataField:设置或取得对应到数据源的字段名称。

DataSource:设置或取得TDBText组件连接到哪一个DataSet的数据源。

二、TDBEdit组件

与TDBText类似,用来显示单一记录的单一字段;不同的是,只要数据库允许,它可编辑修改对应的字段。继承自TCustomMaskEdit,与TEdit、TMaskEdit有很多共性。

DataField和DataSource:同上。

Field:设置或取得字段值。

ReadOnly:True可避免数据源的数据被改变。设为False并不保证数据可被更改,数据源允许更改时,如TQuery的RequestLive设为True,同时ReadOnly设为False,数据源的对应字段值才能被改变。

Clear方法:清除组件内容。同样的,被清除的内容是否保存回数据源,必须由数据源允许写入与目前DataSet的状态决定。

三、TDBMemo组件

与TMemo同继承自TCustomMemo,因此,除了数据感知功能外,与标准TMemo也几乎一样。TDBMemo主要用来显示、连接较长的文本字段。

AutoDisplay:用来设置或取得是否自动显示字段数据。设为False时,仅显示字段名称,双击才显示字段数据。Delphi7中未发现设为False起作用。

LoadMemo方法:用来调入TDBMemo的内容。

四、TDBImage组件

用来显示或提供修改数据源的大型二进制字段数据(BLOB),与TDBMemo类似,除非真的有此需求,否则,应避免使用这样的组件,因它比较耗用系统资源。

五、TDBListBox组件

用来显示或提供列表让用户可以通过列表选择输入数据。当DataSet允许修改时,改变列表项目会直接更新DataSet中的字段值。

Items属性。

六、TDBComboBox组件

用来显示或提供下拉式菜单,让用户可通过下拉式菜单选择输入数据。当DataSet允许修改时,改变列表项目会直接更新DataSet中的字段值。

Items属性。

AutoComplete:当用户于TDBComboBox文本列表输入文字时,会从Items中找出符合的项目,并自动完成未输入的文字。

AutoDropDown:当用户以键盘开始输入时,会自动下拉菜单。

Style:决定TDBComboBox的外观与行为。其值如下:

Ø  csDropDown:可接受用户输入文字,且各项高度相同。

Ø  csDropDownList:与csDropDown相同,但无文本输入列表。

Ø  csOwnerDrowFixed:无文本输入列表,项目高度由ItemHeight决定。

Ø  csOwnerDrawVariable:无文本输入列表,允许各项目不同高度。

Ø  csSimple:没有下拉式图标(倒三角形),但允许输入文字。

OnMeasureItem:在一个csOwnerDrawVariable状态的TDBComboBox的下拉式菜单,需再次重画显示时触发。

七、TDBLookupList与TDBLookupComboBox组件

TDBLookupList用来实时显示另一个DataSet的相对应字段值。举例说明下:数据库中的两个表:

对图1:左侧是TDBGrid控件,显示的是表1的数据;右侧是TDBLookupList控件。要想达到这个目的:在TDBGrid中选择任意一项时,TDBLookupList中显示TDBGrid选中行对应的学号所关联的姓名字段。反之也成立。

DataField和DataSource:DataSource用来指定跟随哪一个DataSource变动。上例中,DataSource应与TDBGrid的DataSource相同。

KeyField(关联字段):指定ListSource和DataSource的关联字段。

ListField(要显示的关联字段):指定ListSource显示的字段名称。ListField通常会设置多个字段,这也是TDBLookupList控件的最大特色,同时显示多个相关字段,方便用户输入。ListField的各字段名称间,使用分号隔开。

ListFieldIndex:当ListField设置多个字段时,ListFieldIndex用来指定其显示的字段字符串(SelectedItem),对DBLookupList来说,除非明确调用SelectedItem属性,只要关联字段、DataField等设置妥当,ListFieldIndex没什么用。

ListSource(关联数据源):用来提供显示字段的数据源。

八、TDBNavigator组件

ConfirmDelete:设置删除操作是否需以对话框询问。

VisibleButtons:VisibleButtons集合类型用来设置TDBNavigator组件各按钮是否显示,默认全部显示。

SetBounds方法:一次设置TDBNavigator组件的Left、Top、Width与Height属性。

BeforeAction和OnClick事件:OnClick发生在按钮按下后,其对应的操作已完成。如,按下删除按钮,OnClick触发时,删除操作早已完成。不同于OnClick,BeforeAction触发在按钮对应的操作正要发生时,因此,常用此事件,处理询问或控制操作是否继续。

Abort和Exit:在BeforeAction中用Abort可阻止指定操作(比如删除)执行,Exit无此作用。

九、TDBGrid组件

Columns:此属性对应到TDBGrid由DataSource取得的字段数据。它是TColumn的集合。TColumn允许对字段数据设置显示名称、字段宽度、文字对齐方式、底色、字体等。

常用属性:

Options:由一组集合常量设置TDBGrid的外观及行为。其可能值如下:

Ø  dgEditing:允许编辑。当Options包含dgRowSelect时,dgEditing失效。

Ø  dgAlwaysShowEditor:点选网格立即进入编辑模式,当不设置dgAlwaysShowEditor时,必须按[Enter]或[F2]才能编辑。Options包含dgEditing且不包含dgRowSelect时,此属性才起作用。

Ø  dgRowSelect:是否允许整列显示。若允许,则dgEditing和dgAlwaysShowEditor失效。

dgIndicator:是否显示记录指针符号。即

Ø  图中黑三角。

Ø  dgColumnResize:同时控制栏宽能否改变、字段是否允许移位。

Ø  dgRowLines和dgColLines:垂直/水平的列间是否显示网格间隔线。

Ø  dgAlwaysShowSelect:即使焦点不在网格,网格仍被选取。

SelectedField:设置或取得目前被选取的网格所在的Field。

SelectedIndex:设置或取得被选取网格的字段索引值,当整列选取时,返回0。

SelectedRows:用来记录所有被选取的记录行。此属性必须在Options包含dgRowSelect和dgMultiSelect时有效。

常用事件:

OnCellClick:编辑模式不会触发。

OnDrawColumnCell和OnDrawDataCell:重绘时触发。OnDrawColumnCell用来取代OnDrawDataCell,所有不要两个同时设置。
---------------------
作者:温水煮青蛙come-on
来源:CSDN
原文:https://blog.csdn.net/mwj_88/article/details/9164711
版权声明:本文为博主原创文章,转载请附上博文链接!

delphi完美经典--第十八章的更多相关文章

  1. delphi完美经典-第16章 Delphi数据库程序设计----使用BDE组件

    第16章 Delphi数据库程序设计----使用BDE组件 Delphi访问数据库的方式有:ADO.BDE.dbExpress.InterBase Express. 一.TDataSet组件 虽然De ...

  2. 《Linux内核设计与实现》读书笔记 第十八章 调试

    第十八章调试 18.1 准备开始          需要准备的东西: l  一个bug:大部分bug通常都不是行为可靠而且定义明确的 l  一个藏匿bug的内核版本:找出bug首先出现的版本 l  相 ...

  3. Python之路【第十八章】:Django基础

    Django基本配置 Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Se ...

  4. 《Linux内核设计与实现》课本第十八章自学笔记——20135203齐岳

    <Linux内核设计与实现>课本第十八章自学笔记 By20135203齐岳 通过打印来调试 printk()是内核提供的格式化打印函数,除了和C库提供的printf()函数功能相同外还有一 ...

  5. 经典:十步完全理解 SQL

    经典:十步完全理解 SQL   来源:伯乐在线 链接:http://blog.jobbole.com/55086/ 很多程序员视 SQL 为洪水猛兽.SQL 是一种为数不多的声明性语言,它的运行方式完 ...

  6. 《Linux命令行与shell脚本编程大全》 第十八章 学习笔记

    第十八章:初识sed和gawk 文本处理 sed编辑器 sed编辑器可以基于输入到命令行的或是存储在命令文本文件中的命令来处理数据流中的数据. 它每次读取一行,用提供的编辑器命令匹配数据.按命令中指定 ...

  7. 第十八章 DjangoWeb开发框架

    第十八章 DjangoWeb开发框架 第一课 内容概要: 1.JS正则 -登录注册验证 2.组件 1.BootStrap -css -js 学习BootStrap规则 2.jQueryUI -css ...

  8. Gradle 1.12用户指南翻译——第四十八章. Wrapper 插件

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  9. Gradle 1.12 翻译——第十八章. 日志

    有关其他已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或访问:http://gradledoc.qiniudn.com ...

随机推荐

  1. java入门---修饰符&访问修饰符&非访问修饰符

        Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符     修饰符用来定义类.方法或者变量,通常放在语句的最前端.我们通过下面的例子来说明: public class ...

  2. 20155222 2016-2017-2 《Java程序设计》第9周学习总结

    20155222 2016-2017-2 <Java程序设计>第9周学习总结 教材学习内容总结 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,开发人员使用JDBC的标 ...

  3. 学习HTML 第一节.小试牛刀

    此贴并非教学,主要是自学笔记,所述内容只是些许个人学习心得的记录和备查积累,难以保证观点正确,也不一定能坚持完成. 如不幸到访,可能耽误您的时间,也难及时回复,贴主先此致歉.如偶有所得,相逢有缘,幸甚 ...

  4. 原生WebGL场景中绘制多个圆锥圆柱

    前几天解决了原生WebGL开发中的一个问题,就是在一个场景中绘制多个几何网格特征不同的模型,比如本文所做的绘制多个圆锥和圆柱在同一个场景中,今天抽空把解决的办法记录下来,同时也附上代码.首先声明,圆柱 ...

  5. 1.0 Hadoop的介绍、搭建、环境

    HADOOP背景介绍 1.1 Hadoop产生背景 HADOOP最早起源于Nutch.Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取.索引.查询等功能,但随着抓取网页数量的增加,遇到了 ...

  6. 4星|《财经》2018年第15期:电动飞机、无人小飞机、AI无人机

    <财经>2018年第15期 总第532期 旬刊 本期主题是AI.有多篇国内AI行业的比较深入的调查报告,比较有意思的有:电动飞机.无人小飞机.AI无人机.欧盟通用数据保护条例.Amazon ...

  7. CsvHelper文档-4映射

    CsvHelper文档-4映射 类映射 有时候你的类成员和csv的header不一定对应,有时候你的csv文件根本就没有header行,你需要特别制定一个成员的index,你不能依靠.net中默认的顺 ...

  8. python—退出ipython3的help()

    退出ipython3的help() 组合键:ctrl+z

  9. PytorchZerotoAll学习笔记(四)--线性回归

    线性回归 # 导入 torch.torch.autograd的Variable模块import torch from torch.autograd import Variable # 生成需要回归需要 ...

  10. 学习使用Git 版本控制 代码管理

    title: 学习使用Git 版本控制 代码管理 notebook: 经验累积 tags:Git --- Git 版本控制 学习教程 Git版本控制器,可以作为程序员.计算机科学和软件工程的研究人员在 ...