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

delphi7中怎么做报表

2013-02-27 
delphi7中如何做报表需求:从数据库中检索数据,以柱状图、曲线图、word版式显示,然后用户可以选择打印和保存

delphi7中如何做报表
需求:从数据库中检索数据,以柱状图、曲线图、word版式显示,然后用户可以选择打印和保存为word文档。
希望有经验的朋友指点一下。。。
[解决办法]
柱状图、曲线图  用tchart控件, 如果有第三方的同类控件也行

word的, 如果只是表格和文字版式, 网路上应该有详细例子
[解决办法]
word版的不太熟悉,说下柱状图和曲线图,建议先去看下TChart的文档,里面将的比较全,抛砖引玉的部分代码:


//TMSChartSeries是自己写的一个类,比较简单,包装部分图的信息,比如显示样式,描述等字段,
procedure TfrmPublicReport.ShowSeriesInChart(cs: TMSChartSeries);
var
  ChartSeries: TChartSeries;
  chtShow: TChart;
  dValue: Double;
  sLabel: String;
begin
  //在Chart中显示序列
    case cs.FStyle of
      1: //折线图
      begin
        ChartSeries := TLineSeries.Create(chtShow);
        ChartSeries.Marks.Style := smsValue;
      end;
      2: //柱状图
      begin
        ChartSeries := TBarSeries.Create(chtShow);
        ChartSeries.Marks.Style := smsValue;
      end
      else //折线图
      begin
        ChartSeries := TLineSeries.Create(chtShow);
        ChartSeries.Marks.Style := smsValue;
      end;
    end;

    ChartSeries.Title := cs.FName;
//grdSearch数据控件
    if grdSearch.DataSource <> nil then
    begin
      grdSearch.DataSource.DataSet.DisableControls;
      try
        grdSearch.DataSource.DataSet.First;
        for i := 0 to grdSearch.DataSource.DataSet.RecordCount - 1 do
        begin
          dValue := grdSearch.DataSource.DataSet.FieldByName(cs.FYFields.Strings[j]).AsFloat;
          sLabel := grdSearch.DataSource.DataSet.FieldByName(cs.FXField).AsString;

          ChartSeries.Add(dValue, sLabel);


          grdSearch.DataSource.DataSet.Next;
        end;
      finally
        grdSearch.DataSource.DataSet.EnableControls;
      end;
    end;

    chtShow.AddSeries(ChartSeries);
  end;

热点排行