请问dbgrid的cell有类似gettext的事件吗?

victor_yang 2004-09-16 10:28:57
例如dbgrid有个column是显示名称的,光标进入后改成显示编码,光标移出后又显示成名称,有人能做到吗?很急啊,大家帮帮忙吧!
...全文
151 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
victor_yang 2004-09-16
  • 打赏
  • 举报
回复
在dbgrid中横向移动,按照gettext方法就可以实现,这个我知道,但纵向移动的时候gettext方法就不行了,因为上一行要复原,下一行要改变显示,这两个是矛盾的。不知道名位高手是否理解我的想法?
victor_yang 2004-09-16
  • 打赏
  • 举报
回复
谢谢各位请教,能具体说说怎么做吗?
zwb666 2004-09-16
  • 打赏
  • 举报
回复
procedure TForm1.Table1BeforeScroll(DataSet: TDataSet);
begin

end;
jinjazz 2004-09-16
  • 打赏
  • 举报
回复
应该用BeforeScroll
jinjazz 2004-09-16
  • 打赏
  • 举报
回复
procedure TForm1.Table1BeforeScroll(DataSet: TDataSet);
begin

end;
drift1981 2004-09-16
  • 打赏
  • 举报
回复
dataset还有个afterscroll事件,响应滚动条移动
victor_yang 2004-09-16
  • 打赏
  • 举报
回复
谢谢,但dbgrid移到下一行的时候,原来那行也应该改,但gettext事件没办法解决。
jinjazz 2004-09-16
  • 打赏
  • 举报
回复
双击dataset,add all..在选择的字段里面有

procedure TForm1.Table1Last_NameGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin

end;
victor_yang 2004-09-16
  • 打赏
  • 举报
回复
结帖
jinjazz(人雅的标记--落寞刺客) (40)
drift1981(一包香烟,一把吉他,浪迹天涯!) (30)
zwb666(zwb) (20)
jiajie(Jacky Zhao)(10)
victor_yang 2004-09-16
  • 打赏
  • 举报
回复
问题解决了!用了我一个晚上加一个上午的时间啊!
方法是:
1、重写colenter和colexit事件,在colenter事件中为相应的field加gettext事件,在colexit事件中再去掉。
2、dbgrid对应的dataset的afterscroll事件中执行colenter事件。

谢谢各位的提示,结帐散分!
Jacky趙家傑 2004-09-16
  • 打赏
  • 举报
回复
应该用ADOQuery的beforescrool与afterscroll事件更新DBGrid

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧