彩票走势图

FastReport里TListView数据打印实例

原创|其它|编辑:郝浩|2012-11-12 11:25:23.000|阅读 1149 次

概述:如何在FastReport中实现打印TListView数据,附加源码

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

在FastReport中实现打印TListView数据,主要的步骤如下:

界面与组件属性设置

 示例界面如下:

FastReport里TListView数据打印实例

在窗体上入一个FrxReport组件和一个FrxUserDataSet组件;双击frxReport,报表样式编辑如图2示:

FastReport里TListView数据打印实例

把frxUserDataSet对象引用添加到右侧的数据源视图中;方法 【Report】--【Data...】选择数据源并确认就行。

在报表模板中放入三个bind,分别是Titel、MasterData、PageFooter。

再在bind中添加相应的memo组件,同时设置MasterData的DataSet属性为上面所添加的frxUserDataSet组件的引用;

设置完成后,关闭报表模板编辑窗体。

源码如下:

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, frxClass;

type
  TForm1 = class(TForm)
    lv1: TListView;
    frxrprt1: TfrxReport;
    frxsrdtst1: TfrxUserDataSet;
    btn1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure btn1Click(Sender: TObject);
    procedure frxrprt1GetValue(const VarName: String; var Value: Variant);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin
  lv1.Items.BeginUpdate;
  try
     lv1.Items.Clear;
     while lv1.items.Count < 30 do
       with lv1.items.Add do
         begin
           Caption := IntToStr(Index);
           SubItems.Add('item '+inttostr(index));
           subitems.Add('test address');
           SubItems.Add(IntToStr(index *20 +5));
         end;
  finally
    lv1.Items.EndUpdate;
  end;
end;

procedure TForm1.btn1Click(Sender: TObject);
begin
  frxsrdtst1.RangeEnd := reCount;
  frxsrdtst1.RangeEndCount := lv1.items.Count;
  frxrprt1.ShowReport();
end;

procedure TForm1.frxrprt1GetValue(const VarName: String;
  var Value: Variant);
var
   item:TListItem;
begin
   item:=lv1.Items.Item[frxsrdtst1.recno];
   if CompareText(VarName,'id')=0 then
      Value := item.Caption ;
   if CompareText(VarName,'name')=0 then
      Value := item.SubItems.Strings[0];
   if CompareText(VarName,'address')=0 then
      Value := item.SubItems.Strings[1];
   if CompareText(VarName,'money')=0 then
      Value := item.SubItems.Strings[2];
end;

end. 效果图如下:

FastReport里TListView数据打印实例


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:慧都控件

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP