表tba_cxid   lb
i   经手人汇总
2   仓库汇总
3   供应商汇总我想根据数据库tba_cx动态创建tabsheet,tabsheet的名称为lb名称,当打开相应的tabsheet就执行c.click,由c.click取得id编码后执行相应的存储过程

解决方案 »

  1.   


    var
      TabSheet: TTabSheet;
      i: Integer;
    begin
      with adoQuery1 do
      begin
        for i := 0 to RecordCount - 1 do
        begin
          TabSheet := TTabSheet.Create(self);
          TabSheet.PageControl := PageControl1;
          TabSheet.Name := 'TabSheet' + FieldByName('id').AsString;
          TabSheet.Tag := FieldByName('id').AsInteger;
          TabSheet.Caption := FieldByName('lb').AsString;
          TabSheet.Show;
        end;
      end;
    end;PageControl1.OnChange: 
    var
      ID: Integer;
    begin
      ID := PageControl1.ActivePage.Tag;
      //执行相应的存储过程
    end;
      

  2.   

     query.Close;
     query.SQL.Clear;
     query.SQL.Add('select * from proname');
     query.Open;
     with query do
     begin
     if RecordCount>0 then
      begin
     for i:=0 to RecordCount-1 do
      begin
       tabsheet[i]:=Ttabsheet.Create(self);
       tabsheet[i].PageControl:=pagecontrol1;
       tabsheet[i].Name:='tabsheet'+inttostr(i);
       tabsheet[i].Tag:=fieldbyname('id').asinteger;
       tabsheet[i].Caption:=fieldbyname('lb').AsString;
       next;
      end;
      end;
    c.click指向pagecontrol的onchange
      end;