关于动态生成pageconctrol的新page问题 ( 积分: 50 )

  • 主题发起人 主题发起人 elsss
  • 开始时间 开始时间
E

elsss

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在查询时动态生成pageconctrol的新page,每个Page上都Create一个
form--form_select,保存查询结果,代码如下,问题是只能看到最后一个查询
不能切换标签查看前面的查询(前面的page上也是最后一个查询好象根本没切换一样)
var
NewPage: TTabSheet;
begin
NewPage := TTabSheet.Create(PageControl1);///生成新page
NewPage.PageControl := PageControl1;
NewPage.Caption :=trim(FlatComboBox1.Text);
PageControl1.ActivePage := NewPage;
application.CreateForm(Tform_select,form_select);///打开form
ADOQuery_pu.Close;
ADOQuery_pu.SQL.Clear;
ADOQuery_pu.SQL.Add('select * from filexx where f_title like'+'"%'+FlatComboBox1.Text+'%"
');
ADOQuery_pu.Open;
unit_select.form_select.Dock(NewPage,BoundsRect);////将form 放在新生成的page上
form_select.Align:=alclient;
unit_select.form_select.show;

end;
 
我想在查询时动态生成pageconctrol的新page,每个Page上都Create一个
form--form_select,保存查询结果,代码如下,问题是只能看到最后一个查询
不能切换标签查看前面的查询(前面的page上也是最后一个查询好象根本没切换一样)
var
NewPage: TTabSheet;
begin
NewPage := TTabSheet.Create(PageControl1);///生成新page
NewPage.PageControl := PageControl1;
NewPage.Caption :=trim(FlatComboBox1.Text);
PageControl1.ActivePage := NewPage;
application.CreateForm(Tform_select,form_select);///打开form
ADOQuery_pu.Close;
ADOQuery_pu.SQL.Clear;
ADOQuery_pu.SQL.Add('select * from filexx where f_title like'+'"%'+FlatComboBox1.Text+'%"
');
ADOQuery_pu.Open;
unit_select.form_select.Dock(NewPage,BoundsRect);////将form 放在新生成的page上
form_select.Align:=alclient;
unit_select.form_select.show;

end;
 
PageControl.ActivePage := NewPage;
with Tform_select.create(Application)do
begin
Parent := NewPage;
Align := alClient;
......
Show;
end;
 
还是不行,问题依旧,不管怎么点击标签,tabsheet上总是最后的一个查询结果,实际上我要的效果就象腾迅浏览器
 
我找到原因了,因为用的是同一个ADOQuery(ADOQuery_pu)所以所有页面都是一个查询结果,但不知怎么办才能每页都保存上几步查询的结果
 
问题解决,原来在新页面上没放ADOQuery,都是用主form上的ADOQuery
 
后退
顶部