有 俩个表,A,B。A和B是1:N的关系,显示A表的内容到DBGrid很简单,我现在要做的是:在DBGrid显示A表内容后,双击DBGrid上的某个记录,就可以把和这个记录向对应的B表中的内容显示到DBGrid上来,请问这个转换怎么做?
解决方案 »
- 如何将webbroswer显示的网页保存为一个单独的mht文件
- 请问 getversion 取的是注册表那个键值?
- cxGrid中有没有办法操作单个cell是否只读?
- 又是一年,32岁了,迷茫中。兄弟们,是否你也和我一样,有空进来坐坐!
- 各位大哥,indy的TIdSMTP怎么设置超时呀?!!!
- 如何用TQuery更新Access数据库中Table中的货币字段,请大侠帮忙!
- 有关操作系统的一个问题
- 是用delphi搞开发的就进来看!
- 请高手指教!!!!!如解决必酬谢.
- 如何让edit的在STRINGGRID在当前行、列中
- 现今Delphi 主要应用是那方面如:COM,ActiveX,还是数据库
- 关于在DLL中创建窗体的问题(着急...在线等)
显示A表数据你自己做了
当想显示B表数据时,在DBGrid1的OnCellClick事件中写入:
var
sTxm : string;
begin
sTxm := ClientDataSet1.FieldByName('A表和B表关联的列名').AsString;
with ClientDataSet1 do
begin
close;
commandtext := 'select * from table where 列名 = '''+sTxm+'''';
open;
end;
end;
提示不能修改
呵呵
算了,你这样改,只使用Tadoquery和DataSource1,DBGrid1行了
先实现显示A表的功能
然后在DBGrid1的OnCellClick事件中写入:
var
sTxm : string;
begin
sTxm := adoquery1.FieldByName('A表和B表关联的列名').AsString;
with with do
begin
close;
sql.clear;
sql.text := 'select * from table where 列名 = '''+sTxm+'''';
open;
end;
end;
我没有用过刚开始接触D6
:
hwxnhk0326(殺殺人,灌灌水) (
好的
A,B。A和B是1:N的关系,可以级联删除,更新,首先显示A表的内容到DBGrid,我现在要做的是:在DBGrid显示A表内容后,双击DBGrid上A表的某个记录,就可以把和这个记录向对应的B表中的内容显示到DBGrid上来,开始在DBGrid显示的A表的内容不在显示,而是显示B表中和A表相对应的内容。请问这个转换怎么做
A表正常显示在DBGrid:
ID Name
6 Joe
7 Mary
8 John 当前"双击"ID为7的这一行则显示为:
ID Name
6 Joe
7 Mary
ID Item Books
7 1 Book1
7 2 Book2
7 3 Book3
8 John
是这个效果吧?哈哈...可惜DBGrid没法实现,推荐你用InfoPower控件,完全可以实现这个功能!!!
这样啊
这样能实现吗?
当前"双击"ID为7的这一行则显示为(B表中内容):
ID Item Books
7 1 Book1
7 2 Book2
7 3 Book3 A表显示在DBGrid:
ID Name
6 Joe
7 Mary
8 John
的 这些就不显示了。