EhLib3_4 控件组的中文使用说明 dbgrideh 排序最简单的方法(原创) 如果是用的是 ADOQuery ,则 uses EhlibADO; 如果是用 ClientDataSet 则要 uses EhlibCDS. 点中 dbgrideh1 ,置其属性 -->SortLocal 为 true; -->OptionsEH-->dghAutoSortMarking 为 true; 双击 dbgrideh1 ,点选要排序的列,设其 Title-->TitleButton 为 true; 还记得以前有朋友问过这样一个问题:在 DBGrid 下如何像 Excel 一样能够做统计计算, 实话说, 使用 DBGrid 来做的话着实不易,不过现在有了这个咚咚,相信会简单些。以下是摘录的一些使用上的说明: 【 TDBSumList 说明】你可以使用 TDBSumList 在可视动态变化数据集中进行记录统计。在你想查看的数据集中设置相关的数据字段, 然后写 SumListChanged 事件来指定在 TDBSumList 发生改变后所要做的操作。 TDBSumList 的 SumCollection 属性上一个 TDBSum 对象容器。每个 TDBSum 对象是一个可以指定集合值的元件。 FieldName 和 GroupOperation 决定了集合值的类型, SumValue 控制当前的集合值。 TDBSumList 被埋藏于 DBGridEh 组件中,因此所的下面有关 的说明与 TDBGirdEh 的 属性的说明是一样的。【如何工作以及为什么有时 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 将不能跟踪数据集中发生的变化。但可以调用 方法。在非 BDE 数据集的主/ 明细表中, SumList 不能跟踪数据变化。在主数据集激活状态数据集发生变化后,调用 方法。在任何其它情况下,如果你发现了其它 SumList 的计算值不正确,你都可以调用 RecalAll 方法。 2003-12-5 15:24:54 如何使用 Ehlib 实现自动排序在 Ehlib 的 DataService 文件夹下提供了一些可以使数据集实现自动排序的文件。 TDBGridEh 使用这些文件中的相关对象可以实现当排序标记发生变化时实现自动排序。如果你改变了数据网格及标题的排序标记而没有书写 OnSortMarkingChanged 事件,数据网格将尝试自动进行数据排序。 DBGridEhDataService 尝试通过 GetDatasetFeaturesForDataSet 查找 TDataSet 中可以排序的特定的对象。正如你所知道的, TDataSet 不支持数据排序,但它的派生对象 TQuery 或 TClientDataSet 却允许实现数据排序。使用过程 RegisterDatasetFeaturesEh ,你可以注册 TDatasetFeaturesEhClass 类, 该类可以实现对 TQuery, TADOQuery 以及 TClientDataSet 对象进行排序。简单地通过 use
EhLib3_4 控件组的中文使用说明 来自淘豆网m.daumloan.com转载请标明出处.