首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

两个DBGrid显示同一数据源!该怎么解决

2012-03-23 
两个DBGrid显示同一数据源!在程序中,获取了一个DBGrid1的数据源:如DS : DBGrid1.DataSource.DataSet,,正

两个DBGrid显示同一数据源!

  在程序中,获取了一个DBGrid1的数据源:如DS := DBGrid1.DataSource.DataSet;,,正确,,,运行也正常,,但我要是再加一个DBGrid2,让DBGrid2的DataSource.DataSet:=DS;则出现错误!不能正常显示,程序发生错误。具体如下:


DS := DBGrid1.DataSource.DataSet;
Form2.DataSource1.DataSet:=DS;
Form2.DBGrid2.DataSource:=DataSource1;//放一个DataSource1

DBGrid1中可以正常显示。但DBGrid2就会出现错误,不能正常显示。


如果我把它修改下如下:

procedure Test();stdcall;
begin
U:=TForm2.Create(nil);
try
  U.DataSource1.DataSet:=DataSet;
  U.ShowModal;
finally
  U.Free;
end;
end;

再在Form2.Show中放:
procedure TForm2.FormShow(Sender: TObject);
begin
dbgrid1.DataSource:=DataSource1;
end;


改下上面这段,就会不完全显示数据,而且一下子就自己退出程序(无任何提示)!


求救啊~!




[解决办法]
procedure Test();stdcall;
begin
ds.DataSet:= DBGrid1.DataSource.DataSet;
U:=TForm2.Create(nil);
try
U.DataSource1.DataSet:=ds.DataSet;
U.ShowModal;
finally
U.Free;
end;

这样就行了。。

[解决办法]
你还发了2次这个提问,修改好的发到你邮箱了
采用clone方法就可以,不能直接=赋值过去的

热点排行