DELPHI中DBGrid中行的定位及着色实现[1]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 haitianwjl 的 blog

       delphidbgrid中行的定位及着色实现

1 问题的提出

    在对一个数据库系统进行操作的时候,发现不能对dbgrid控件中的数据行定位及在定位到某行后无法对当前行进行明显的标志(例如改变颜色),在往上查找了很多资料,发现基本没有对这个内容的介绍,包括一些动态设顶行的颜色等文章讲的都是在数据初始化时做的操作,而没有在数据源刷新后的重新定位功能,所以下决心解决这个问题,通过一上午对delphi帮助的研究和查看相关的资料,稍有小成,现写出来和各位同行共同学习,不当之处请多指教。

2 解决的办法

首先查找ttabletquery控件没有发现能够直接定位数据行的方法,同样查找dbgrid也没有找到相应的能够直接定位到某行数据的函数,然后我就从数据集的类上查找,经过不断努力,终于在tdataset中发现了一个方法:gotobookmark,这个方法能够使当前的dbgrid中的记录指针指向你需要指定的行。

在找到这个方法后,问题还只解决了一半,还必须把当前指针指向的数据行改变颜色,就是说必须用一个明显的方式去标志当前选中的行(出了在dbgrid上的那个小的不明显的书签外)这个很显然就是在dbgrid控件中实现了,在dbgrid控件中有一个事件ondrawdatacell,重载这个方法就可以实现指定的数据行的颜色的改变了。

具体的使用过程如下:

(1)    动态定位数据行

//===============================================================

本文关键:DBGrid,GoToBookmark,
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top