好贷网好贷款

Ehlib系列文章之二:妙用TColunmnEh的OnGetCellParams事件

发布时间:2016-12-4 3:47:55 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Ehlib系列文章之二:妙用TColunmnEh的OnGetCellParams事件",主要涉及到Ehlib系列文章之二:妙用TColunmnEh的OnGetCellParams事件方面的内容,对于Ehlib系列文章之二:妙用TColunmnEh的OnGetCellParams事件感兴趣的同学可以参考一下。

Ehlib比DBGrid提供更多灵活的属性和事件,尤其是TColunmnEh的属性和事件。GetCellParams是TColunmnEh重要的事件之一,用好了这个事件,可以达到妙笔生花的境界。1、与数据集的UpdateStatus搭配,派生出一列的行状态标记,一目了然,非常适用缓存提交方式。procedure TWinEhlibInfo.SetRecordStatus(          DataSet:TDataSet;          EditMode: Boolean; Params: TColCellParamsEh);begin     EditMode := False;if (DataSet<>nil) and (DataSet.Active) thenbegin     case DataSet.UpdateStatus of     usInserted:Params.text := '+';     usModified:Params.text := 'I';     usDeleted:Params.text := '-';//保留删除的标记,比如在恢复 CDS.delta,或者过滤数据集状态,                                                  //我们可以看到删除的状态行     else       Params.Text := '*';     end;end;end;调用方法:ClientDataSet1为ehlib表格对应的数据集。手工创建一列(TColunmnEh),放在最后,宽度Width 为36即可,“列”属性的AutoFitColwidth为false,“列”不要指定数据集字段,然后在TColunmnEh的OnGetCellParams事件写上:WinEhlibInfo.SetRecordStatus(ClientDataSet1,EditMode,Params);见图:2、与数据集的Lookup方法搭配。在该事件里,可以填充一列或多列Lookup关联的表。(1)优点是:不用在设计期或运行期创建Lookup字段,不用建立PickList和KeyList。                        如果是一个复杂的窗口,已经有了Lookup对应的数据集,那我们不在需要重新建立新的                        Lookup数据集。其原因是:Lookup搜索字符串不像locate一样移动数据集有效,因此可以共                        享一个数据集。不用担心速度,因为Ehlib表格搜索的lookup匹配值,只是表格里能显示的记                        录数,而不是所有的记录数。(2)缺点是:由于是派生的列,没有指定字段名,因此不能排序和统计。                                                                    评论这张                                                                              转发至微博                  

上一篇:\t\tEhlib系列文章之二:妙用TColunmnEh的OnGetCellParams事件
下一篇:C语言代码套用在Delphi编程中(C++Builder(VC++)与 Delphi)

相关文章

相关评论