当前位置:主页>仓库管理软件> 列表

dbgrid如何得到焦点 找速达软件公司

财务软件版1楼: 问题:我现在想让用户,在点鼠标一下,就增加记录,就可以才次基础上利用,picklist功能修改了,其他都正常,可是,当数据库中没有记录,点dbgrid的第一列,第一行的表格,dbgrid却触发,click事件,在线等,

2楼: 说错了,应该是没有触发click事件,为什么 如员工信息管理软件

3楼: 贴点代码,或者说清楚一点!

4楼: 就是正常的dbgrid.click,然后追加dbgrid1.datasource.dataset.append,其他都正常,就是当数据库没有记录,然后,点dbgrid的第一个表格,不响应click事件

5楼: 同意楼上的说法

6楼: 你的自定义控件事件编写不够完整吧!!!

财务软件版7楼: 在把问题说一下:就是在dbgrid的click的事件中,其他的都正常,就是当程序初始化开始后,点dbgrid的第一列,为什么不响应,急,在线等!!!!!!!!!!!!!!!!!!

8楼: 如果 DBGridEh 已经处于获得焦点的状态下,你再用鼠标点它是不会响应 onclick事件的,这就是原因.

9楼: onCellClick事件就会响应了

10楼: 那该如何处理呢,现在我需要,在dbgrid获得焦点的同时,对数据库进行添加操作,但是,如果不能响应onclick事件,就该出问题了,急啊

11楼: 怎么没有人响应啊,是不是分太低了,如果解决,我可在加分的

12楼: 在onCellClick事件中添加你的代码. 如卸载速达软件大管家

13楼: 我试过一样,好象,都一样的问题

财务软件版14楼: 你在onCellClick事件中添加


showmessage(''hello'');试试,我试过是执行的,证明已经触发了.
刚又试了dbgrid1.DataSource.DataSet.append;记录也添加了啊

15楼: 我知道了,你不是事件没触发.是当数据库没记录的时候,追加一条记录就是第一条,所以0条记录跟1条记录显示是一样的.

16楼: 也不是,我自己利用showmessag(''测试''),来测试onclick好象就是没有触发啊

17楼: 不会吧,你用的标准控件还是你自己写的控件啊,自己改的那就难说了

18楼: 就是用的标准的dbgrid控件啊,老兄,要不帮帮忙,你可以试一下啊

19楼: 我试过了啊,绝对可以执行啊,你设置断点了吗?跟踪一下.
根据你的情况是如果数据库有记录的话是触发的对吗?

20楼: 我在给你说说具体的情况吧:就说dbgrid现在没有焦点,然后,你直接点第一个网格,看看能不能响应,然后,你在试试,dbgrid得到焦点,然后,你在试试.
注意,你不要先点其他的网格,直接点第一个网格,
然后,你在试试,dbgrid.datasource.dataset没有记录的情况下,点击,然后在修改,看看有什么问题没有,谢谢

财务软件版21楼: 我知道了,oncellclick当用户释放鼠标时触发该事件,你点第一个单元格直接进去编辑了,而在单元格编辑状态是不触发该事件的.

22楼: 你设断点试试不?
调试呀,
没有代码...... 如速达软件公司

23楼: 那怎么处理呢?有什么好的办法没有

24楼: form1.dbgrid.onclick()
begin
showmessage(''这就是代码'');////这就是代码
end;
当你点激的时候就会出现我说的那种情况,看如何处理一下

25楼: 用双击事件试试

26楼: onmousedown事件也可以

27楼: 我试过双激了,好象有同样的问题,而onmousedown事件却需要定位鼠标的坐标,在的程序中好象不能用onmousedown事件,所以,在一直在寻找一种能够解决办法

财务软件版28楼: 能用啊,我试过了啊

29楼: 好的,我在试试,明天在说,谢谢,如果可以,我就给分了

30楼: 好象,用onmousedown事件时,一样存在这个问题。只是在点激非表格内容区域在响应,而点激表格内容是却不能响应,所以,用这个事件不行.

31楼: 实在不行在DrawColumnCell里加

32楼: 能具体的说一下如何处理吗?谢谢唐兄

33楼: onMouseUp试试看

34楼: dbgrid.column[0].gotfocus