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

为什么双击DBGrid中记录,其他数据会消失? 找客户管理软件破解版

财务软件版1楼: 我用DBGrid显示一个表中的数据,然后在里面做了一个触发动作(用的DBGrid里Action里的函数实现的),双击DBGrid中的某条记录就弹出一个窗口显示这一条数据的详细信息。但是弹出的窗口一打开,DBGrid中的记录就只剩下被双击的那一条了。
有没有办法,让我显示详细记录的同时,使DBGrid中数据保留原样,不要每回都要重新查询数据了????
100分送上

2楼: DBGrid直接与Qry连接的。所以如果记录只剩下一条,就说明你的数据集里只有这一条。 如进销存软件

3楼: 不是的,里面的数据没有减少,再查询一下就会全显示出来的

4楼: 请说明你的具体做法。

5楼: 是不是弹出新窗口的时候,你设置了什么过滤条件?

6楼: 数据库access
delphi6
dbgrid和qry结合显示数据
左边的属性框选action里的dbclick(不太清楚是什么组合了),取dbgrid1.fields[0].asstring(主键),把以下语句赋值给全局变量SQLSelect:select * from 表 where id=dbgrid1.fields[0].asstring,并调用下面的窗体:

创建新Frame,里面放几个TEdit用来显示数据。在新Frame被创建的时候打开数据:


ADOQuery1.Sql.clear;
ADOQuery1.Sql.add(SQLSelect);
ADOQuery1.open;
显示数据,数据显示正常,但回过来一看父窗体,除了被选的记录,其他的记录都消失了。哪个大侠试一试,看会不会出现这种情况。

财务软件版7楼: 应该没有的

8楼: 那当然了:
where id=dbgrid1.fields[0].asstring
本身就是一条记录(估计不多).
你要在新窗口里换另一个Query来执行,不要用原来的那个Query就对了.

9楼: 我就是换了一条新的了,没有用原来的,还是不行的

10楼: 不可思议。
会不会是 SQLSelect 是全局的问题? 换另一个变量如何呢。

11楼: 你双击 DBGrid 后弹出新窗口中的 TDBEdit 等控件不需要新的 DataSource 和 TQuery, 只要把 TDBEdit 等控件的 DataSource 属性设为 DBGrid 的同一个 DataSource 即可([red]也不要重新查询[/red])。

12楼: 兄弟在此处借鉴 如客户管理软件破解版

13楼: 我觉得应该现在BDGrid控件中获取鼠标的指针,
在通过双击直接复值给新窗口的标签控件,
然后读取该指针的数据,
之后在新窗口中就显示出当前的数据记录,
请尝试,
我做过,
是可以的.

财务软件版14楼: 不好意思,我自己有一个东西没有设置好,结帐,给分了。