Delphi中DBGrid的OnCellClick事件 我用了两个DBGrid,第一个显示数据库中的所有表,我想鼠标选中第一个DBGrid中的一条数据时,第二个DBGrid可以显示出来表中的数据信息,我查了一下,有一个OnCellClick事件,那这个事件触发后,怎么让数据在第二个DBGrid中显示呢?谢谢,新手,不会的太多了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select * from dbgrid1.tablename 我用了use admire select * from sysobjects where xtype='U',在第一个DBGrid中,显示表时,不光有name,还有id、xtype之类的东西,第二个DBGrid只是想显示选中的第一个DBGrid中的那一条的表里的信息,楼上那个我试了,没显示出来啊。 在第一个表的FATASOURCE中的DataSource1DataChange事件中写 adoquery2.Close; adoquery2.SQL.Clear; adoquery2.SQL.Add(sql); adoquery2.Open;试试。我是这样解决的 手误“在第一个表的DATASOURCE中的DataSource1DataChange事件中写” 简单Sql.Text := 'Select * from SysUser where 字段="' + DBGrid1.SelectedField.Text + '"'字段你自己要清楚你所要在第二个DBGrid中的字段名 在第一个表格的oncellclick事件中取出当前单元格的内容xxx,同时刷新第二个表格邦定的query内容为,select * from xxx qustion000123的方法我怎么试验不行啊,我试验了一下怎么不可以啊.如何确定好你点的第一个dbgrid中是什么值啊?可以交流一下吗[email protected] 我一般是这样处理,把第一个dbgrid的option的rowselect属性设为true,然后当单击第一个dbgrid时,就可以每次选中一行了,再根据选中的行,利用相关的属性,比如dbgrid1.SelectedField.AsVariant从中查询出选中记录的主键字段,然后赋给一个变量,在用查询字符串变量1=‘select 字段1,字段2,.... from 表 where 主键字段=’+变量adoquery1.close;adoquery1.sql.clear;adoquery1.sql.add(字符串变量1);adoquery1.open; 来晚了,让前面都说过了。在第一个表的DATASOURCE中的DataSource1DataChange事件中写:with adoquery2 dobegin close; sql.clear; sql.add('select * from '''+adoquery1.fieldbyname('name').value+''''); Open;end;获得一个adoquery中的字段值可以用 adoquery.fieldbyname('字段名称').value,也可用 adoquery.fields.fields[Index].value (Index 为列顺序,从0开始计数),如第一列值可用 adoquery1.fields.fields[0].value,个人经验:最好不要用 select * from 表 ,还是 select 字段1,字段2,.... from 表 也就是说可以实现,单击DBGRID表其中一行时,其内容显示到相应的编辑框中...再移动光标编辑框中的数据随着光标选中行自动变化.....也是这样实现的吗? 我个人认为,应该建立主从表机制;在第一个表的相关的数据集组件的AFTERSCROLL中,重新打开第二个DBGRID相关的数据集;如DSTDETAIL.CLOSE;DSTDETAIL.COMMANDTEXT := ' SELECT * FROM '+ DSTMASTER.FIELDBYNAME('TABLENAME').ASSTRING;DSTDETAIL.OPEN; 实现上传PDF文件并显示出来。并保存到服务器。 关于将两个变量保存到一起 如何用delphi读取到indy 中http 重定向后的 Location 值????谢谢老大们 高分求教Delphi窗体问题(详情请进) 怎样将Panel的Caption竖着显示? access问题!!!急!!!!!!!!! 帮帮我,关于DCOM的问题? 赶快!!! 很简单!!!----TreeView 需要一本详细讲解SQL语法的电子书。 给大家一个加密算法(在D6下没调通) 求教:为什么sql数据库导入excel文件时没有台头字段??? WebService问题,导入WSDL文件生成的代码不能编译
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add(sql);
adoquery2.Open;
试试。我是这样解决的
Sql.Text := 'Select * from SysUser where 字段="' + DBGrid1.SelectedField.Text + '"'字段你自己要清楚你所要在第二个DBGrid中的字段名
同时刷新第二个表格邦定的query内容为,select * from xxx
字符串变量1=‘select 字段1,字段2,.... from 表 where 主键字段=’+变量
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add(字符串变量1);
adoquery1.open;
begin
close;
sql.clear;
sql.add('select * from '''+adoquery1.fieldbyname('name').value+'''');
Open;
end;获得一个adoquery中的字段值可以用 adoquery.fieldbyname('字段名称').value,
也可用 adoquery.fields.fields[Index].value (Index 为列顺序,从0开始计数),
如第一列值可用 adoquery1.fields.fields[0].value,个人经验:最好不要用 select * from 表 ,还是 select 字段1,字段2,.... from 表
也是这样实现的吗?
如DSTDETAIL.CLOSE;
DSTDETAIL.COMMANDTEXT := ' SELECT * FROM '+ DSTMASTER.FIELDBYNAME('TABLENAME').ASSTRING;
DSTDETAIL.OPEN;