我有一个DBGrid,我想在点击时,点击的记录到另一个DBGrid上显示(只显示一条),该怎么做?(100分)

  • 主题发起人 主题发起人 rerere
  • 开始时间 开始时间
procedure TForm1.DBGrid1CellClick(Column: TColumn);
for i:=0 to ?do
begin

dbgrid2.fields:=dbgrid1.fields;
end;
 
var tempstr:string;
DBGrid2.datasounce.dataset 为table则
取得tempstr:=DBGrid1.datasounce.dataset.fieldbyname('关键字名称').asstring 再
DBGrid2.datasounce.dataset.fliter='关键字名称=tempstr';
DBGrid2.datasounce.dataset.flited:=true;
 
to zhangpg:
DBGrid2.datasounce.dataset.fliter='[关键字名称]='+tempstr;

DBGrid2.datasounce.dataset.fliter='[关键字名称]='''+tempstr'''';
 
Query1查询出的数据用DBgrid1显示;
然后在DBgrid1上任一行双击,在DBgrid1
的ondbclick事件里调用DBgrid2所在form
在DBgrid2里显示的是你的答案
前提:DBgrid1和DBgrid2的datasource的
dataset属性都设置为query1;
 
DBgrid1、DBgrid2对应Table1、 Table2,在Table1的BeforeScroll事件中将当前记录拷贝至
Table2就行了!
 
搞错了,是AfterScroll事件。
 
dbgrid2.datasource:=datasource2;
datasource2.dataset:=query1;
query2.sql.add
('select * from table where 关键字段=@y')//
在事件中,
@y:=query1.fieldbyname('关键字段').asstring;
 
当单击 DBGrid1 时,你在数据库中找到单击的
这条记录,然后在 DBGrid2 中显示这条记录即可。
要用两个 Table, 两个 DataSource 控件。
 
用一个stringgrid显示岂不是更好
afterscroll事件里几行代码就完了
 
我看还是在 OnClick 里面写吧,
保险一些,嘻嘻.....
 
多人接受答案了。
 
后退
顶部