我想动态设定rave报表的一数据段的,left,top等属性。
如何做?

解决方案 »

  1.   

    以前有人回答过,不记得谁贴的了,借花献佛吧uses : rvclass,rvcsstd;var
        MyPage: TRavePage;
        MyText: TRaveText;
    begin
      RaveProject1.Open;
      With RaveProject1.ProjMan do begin
          MyPage := FindRaveComponent('Report1.Page1',nil) as TRavePage;
          MyText := FindRaveComponent('Text1',MyPage) as TRaveText;
          MyText.Text := 'borland';
      end; { with }
      RaveProject1.Execute;
      RaveProject1.Close;
      

  2.   

    glassesboy:我贴过 :)
      

  3.   

    qxj(borland中国) 呵呵!Sorry! 
     谢谢你!上次就是看了你的帖子,我才解决了一个问题!请楼主,把分给qxj(borland中国)^_^
      

  4.   

    qxj(borland中国):不!这是你的知识产权^_^
      

  5.   

    我也看过好多qxj(borland中国)的帖子,从他那学了不少东西呢。
      

  6.   

    To glassesboy(glassesboy)
    呵呵,我写过回复的
    有点不一样:)
    procedure TMainForm.SpeedButton1Click(Sender: TObject);
    var
      MyPage: TRavePage;
      MyText: TRaveText;
      DataView: TRaveBaseDataView;
    begin
      RvProject.Open;
      With RvProject.ProjMan do
        begin
          MyPage := FindRaveComponent('Report1.Page1',nil) as TRavePage;
          MyText := FindRaveComponent('RPTitle',MyPage) as TRaveText;
          MyText.Text := 'Report of table "'+TableList.Items.Strings[TableList.ItemIndex]+'"';
          MyText.Color := clBlue;
          // generate from database
          // field 0
          (FindRaveComponent('Text1',MyPage) as TRaveText).Text:=ADODataSet.FieldDefs[0].Name;
          (FindRaveComponent('DataText1',MyPage) as TRaveDataText).DataField:=ADODataSet.FieldDefs[0].Name;
          // field 1
          (FindRaveComponent('Text2',MyPage) as TRaveText).Text:=ADODataSet.FieldDefs[1].Name;
          (FindRaveComponent('DataText2',MyPage) as TRaveDataText).DataField:=ADODataSet.FieldDefs[1].Name;
          // field 2
          (FindRaveComponent('Text3',MyPage) as TRaveText).Text:=ADODataSet.FieldDefs[2].Name;
          (FindRaveComponent('DataText3',MyPage) as TRaveDataText).DataField:=ADODataSet.FieldDefs[2].Name;
          // field 3
          (FindRaveComponent('Text4',MyPage) as TRaveText).Text:=ADODataSet.FieldDefs[3].Name;
          (FindRaveComponent('DataText4',MyPage) as TRaveDataText).DataField:=ADODataSet.FieldDefs[3].Name;
          // get the dataview to refresh
          Dataview := FindRaveComponent('Dataview1',nil) as TRaveBaseDataView;
          // refresh the dataview
          CreateFields(DataView, nil, nil, true);
        end; { with }
      RvProject.Execute;
    end;
      

  7.   

    ly_liuyang(Liu Yang) :
    Sorry!您写的东西,挺实用的,可是我以前没找到过:(,要是早找到,我的一个问题也就解决了
      

  8.   

    Sorry!各位能帮我看看这个吗
    http://expert.csdn.net/Expert/topic/1527/1527647.xml?temp=6.713504E-02