EhLib使用说明

2026/1/26 21:52:12

在网格的适当位置放置编辑器. 在下拉列表中显示几个字段。

在下拉列表中显示几个下拉字段,需要设置列的LookupDisplayFields属性到字段的Semicolons属性来分割多个字段名。命名为Column.Field.LookupResultField的属性必须位于LookupDisplayFields列表中。多字段的下拉列表只能应用于下拉字段。

显示下拉方式的列

你可以通过KeyList 和 PickList 属性在相关的的字段中显示其它文本。KeyList显示包含在字段的值而非PickList索引所包含的值。 Column.NotInKeyListIndex to index of text from PickList that will be shown if field value do not contain in KeyList (for instance you can set index of text for Null field value). Set Column.DblClickNextval to True to change value on mouse double click.

下拉式计算器

对于 TDateField 和 TDateTimeField 字段,inplace 编辑器将显示下拉按钮以显示显示下拉计算器。设置 Column.ButtonStyle 为 cbsNone 以禁止显示下拉按钮。

设置编辑器颜色和字体

Inplace编辑器可以设置数据单元的颜色和字体。数据单元使用OnGetCellParams 事件来控制列的颜色和字体。 Inplace 编辑器在行高>一行的高度时自动设置为多行模式并且将列的属性 WordWrap 设置为True.

自动填充网格列宽到网格客户区

设置AutoFitColWidths为True以自动重置列宽来设置网格的宽度等于客户区宽度。 MinAutoFitWidth 属性决定网格的最小宽度,列宽将会被重新计算。 3D或平面外观

使用 OptionsEh 属性来显示/隐藏固定的3D框架,冷区,页脚以及数据行。

使用 Flat 属性来设置用平面方式显示数据网格。

从多种格式导入/导出数据到TDBGridEh。

EhLib 的函数集可以从DBGridEh导出数据到Text, Csv, HTML, RTF, XLS以及其内部格式。它可以保存数据到流(TStream对象)或文件。 例子 Pascal:

SaveDBGridEhToExportFile(TDBGridEhExportAsText,DBGridEh1,'c:\\temp\\file1.txt',False); C++:

SaveDBGridEhToExportFile(__classid(TDBGridEhExportAsText),DBGridEh1,\ile1.txt\

EhLib 的函数集可以从 Text以及其内部格式的数据导入到DBGridEh的数据集中。它可以从文件中读取数据或读取数据到流(TStream对象)。

其它特性

用lookup 编辑器,你可以在运行时清空(设置为Null) LookupKeyField 值。比如选择整个文本然后按Delete键。

冷区

冷区是数据网格列集左边显示的不可滚动的区域。与固定列不同的是,冷区的列可以获得编辑焦点。可以通过设置FrozenCols属性来设置右边不可滚动的列集。

增量搜索

TDBGridEh 允许用户在网格列中实现特定的“增量”搜索。当用户进入增量搜索时他可以显示字符以及网格,并且在当前的列中查找文本。使用 dghIncSearch 和 dghPreferIncSearch的值(在OptionsEh 选项中) 在数据网格中操作增量搜索。 dghIncSearch 值允许在数据网格中进行增量搜索。运行时你能够使用下面的键进行增量搜索:

Ctrl+F - 开始增量搜索。

Ctrl+Enter - 查找下一个匹配记录。

Ctrl+Shift+Enter - 查找前一个匹配记录。

如果OptionsEh选项中的 dghIncSearch 是只读的,那么网络将自动设置增量模式在第一次按键以及1.5秒后返回普通模式。 dghPreferIncSearch 值决定网格设置自动增量搜索模式在第一次按键时替代单元编辑。

水平或垂直滚动条

使用 VertSctollbar, HorzSctollbar 属性来显示/隐藏以及跟踪水平或垂直滚动条。

多选

TDBGridEh 允许在选定的区域上进行选择记录,列以及矩形区域等操作:

允许多选会影响下面这些属性:

Options选项中的dgMultiSelect属性 - 设置是否允许多选。

Options选项中的dghClearSelection 属性- 设置在用户移到下一个单元时是否清除已选记录。

Options选项中的EditActions属性 -设置用户可以在已选记录上执行哪些操作(比如,拷贝,剪切,删除,粘贴,全选等)。

Options选项中的AllowedSelections属性-设置允许选定记录的类型(比如,行,列,矩形区域等)。

Options选项中的Selection属性-设置一个当前的多选状态,已选记录,列或矩形区域以及存取它们的属性和函数。

从注册表或ini文件中保存或恢复网格和列的层次。

TDBGridEh 有一个常规设置来从注册表或ini文件中保存和恢复网络以及列的层次:

RestoreColumnsLayout - 从注册表中恢复列的次序,宽度,排序标志。

RestoreColumnsLayoutIni - 从ini文件中恢复列的次序,宽度,排序标志。

RestoreGridLayout - 从注册表中恢复列的次序,宽度,可视,排序标志,排序索引或行高。

RestoreGridLayoutIni - 从ini文件中恢复列的次序,宽度,可视,排序标志,排序索引或行高。

SaveColumnsLayout - 保存列的次序,宽度,排序标志到注册表中。

SaveColumnsLayoutIni - 保存列的次序,宽度,排序标志到ini文件中。

SaveGridLayout - 保存列的次序,宽度,可视,排序标志,排序索引或行高到注册表中。

SaveGridLayoutIni - 保存列的次序,宽度,可视,排序标志,排序索引或行高到ini文件中。

当前版本的TDBGridEh不支持的特性: 这个版本的TDBGridEh不支持下面的特性:

TDBGridEh 不能设置每一个数据窗口中单独行的行高。

TDBGridEh 不能象TreeView那样工作。它不能拥有节点和枝叶。

TDBGridEh 不能横向或纵向合并数据单元。

将已存在的TDBGrid组件转换为TDBGridEh组件:

尽管TDBGridEh并不是从TCustomDBGrid组件继承而来的,但是在TDBGridEh和TDBGrid中还是有一些相似的属性。

它允许仅用一点点代价来转换已存在的TDBGrid组件到TDBGridEh。

可以按照下面的提示来转转换已存在的TDBGrid组件到TDBGridEh:

在Delphi的IDE中打开包含有TDBGrid组件的应用程序。

设置视图方式为文本方式(Alt-F12)。

将所有的TDBGrid对象改名为TDBGridEh('比如,将object DBGrid1: TDBGrid'改为 'object DBGrid1: TDBGridEh')

重新编译你的应用程序。

5 使用 TDBSumList 组件 TDBSumList说明

你可以使用TDBSumList在可视动态变化数据集中进行记录统计。在你想查看的数据集中设置相关的数据字段,然后写 SumListChanged 事件来指定在TDBSumList发生改变后所要做的操作。TDBSumList 的 SumCollection 属性上一个 TDBSum 对象容器。每个 TDBSum 对象是一个可以指定集合值的元件。 FieldName 和 GroupOperation 决定了集合值的类型,SumValue 控制当前的集合值。

TDBSumList 被埋藏于 DBGridEh 组件中,因此所的下面有关TDBGridEh.SumList 的说明与TDBGirdEh的TDBGridEh.SumList 属性的说明是一样的。

如何工作以及为什么有时SumList的集合值计算不正确?

你知道 data-aware 控件与数据集是通过 TDataLink 对象相连接的。 TDataLink 不允许快速重新计算集合值。例如,当从数据集中删除记录时,数据集发送deDataSetChange事件给所有的TDataLink对象,在当前局部过滤发生改变时,同样的事件也被发送了。因此当 TDataLink 接收到该事件时,它不得不在所有的数据集中重新计算集合值,甚至于仅从数据集中删除一条记录。在激活后, TDBSumList 重载了数据集的下列事件: OnAfterEdit, OnAfterInsert, OnAfterOpen, OnAfterPost, OnAfterScroll, OnBeforeDelete, OnAfterClose。这种方法避免了在所有的数据集中它。在不需要它时,又会出现其它的问题,比如: T

运行时指定这些事件。在指定上述事件之一以前,关闭 SumList。

在下面的情形下,SumList 发出存取错误信息。 SumList 试着向数据集返回事件,但数据集数据并未被删除。在SumList(或网格)以及数据集放置在不同的窗体(数据模块)这种情况下,可以显示数据。在这种情况下,试着在从数据集或数据模块中数据集数据被删除时关闭SumList。

如果你使用SetRange或ApplyRange事件,SumList 将不能跟踪数据集中发生的变化。但可以调用 SumList.RecalAll 方法。 在非BDE数据集的主/明细表中,SumList 不能跟踪数据变化。在主数据集激活状态数据集发生变化后,调用 SumList.RecalAll 方法。

在任何其它情况下,如果你发现了其它SumList的计算值不正确,你都可以调用 RecalAll方法。

4 使用 TPrintDBGridEh 组件

在 Delphi 的 IDE 组件面板中选择 TPrintDBGridEh 并拖放其到 form 上。在 其 DBGridEh


EhLib使用说明.doc 将本文的Word文档下载到电脑
搜索更多关于: EhLib使用说明 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219