FastReport动态图表问题

uses frxClass, frxChart, Series;

 

var
  page: TfrxPage;
  band1: TfrxPageHeader;
  charView1: TfrxChartView;
  pieSerial: TPieSeries;
begin
  inherited;
  page:=frxReport1.Pages[0];

  band1:=TfrxPageHeader.Create(page);
  band1.CreateUniqueName;
  band1.Height:=page.Height;
//   band   :=   TfrBandView.Create;
  band1.SetBounds(0, 0, page.Width, page.Height - 100);

  charView1:=TfrxChartView.Create(band1);
  charView1.CreateUniqueName;
  charView1.Height:=page.Height - 100;
  charView1.Width:=page.Width - 100;
//   band   :=   TfrBandView.Create;
  charView1.SetBounds(18, 18, page.Width - 100, 600);

  pieSerial:=TPieSeries.Create(charView1);
  //pieSerial.ParentChart:=charView1.Chart;
  charView1.Chart.AddSeries(pieSerial);
  with charView1.SeriesData.Add do // 注意,这行必须加,否则在设计时,点图象即出 List index out of bounds (0) 的异常,浪费了我挺多时间
  begin
    DataType := dtDBData;
    XSource := 数据集名称变量
             + '.'
             + AnsiQuotedStr(X轴字段名, '"');
    YSource := 数据集名称变量
             + '.'
             + AnsiQuotedStr(Y轴字段名, '"');
    DataSet:=frxReport1.GetDataset(数据集名称变量);    // 如果是动态添加数据集,则写法有所不同
  end;

/// 动态添加数据集

var

    DataSource: TDataSource;
    frxDBDataSet: TfrxDBDataset;
begin

  DataSource:=TDataSource.Create(nil);
  frxDBDataSet:=TfrxDBDataset.Create(nil);

  frxDBDataSet.DataSource:=DataSource;

  DataSource.DataSet:=从天上掉或是动态创建都是可以的;


  // 接上面数据变动的处理代码

  with charView1.SeriesData.Add do

  begin
    DataType := dtDBData;
    XSource := 数据集名称变量
             + '.'
             + AnsiQuotedStr(X轴字段名, '"');
    YSource := 数据集名称变量
             + '.'
             + AnsiQuotedStr(Y轴字段名, '"');
    DataSet:=frxDBDataSet;    // 如果是动态添加数据集,则写法有所不同
  end;

end;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值