GetCellParams是TColunmnEh重要的事件之一,用好了这个事件,可以达到妙笔生花的境界。
1、与数据集的UpdateStatus搭配,派生出一列的行状态标记,一目了然,非常适用缓存提交方式。
调用方法: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)缺点是:由于是派生的列,没有指定字段名,因此不能排序和统计。