D
dafuwengqing
Unregistered / Unconfirmed
GUEST, unregistred user!
我想用fastreport实现如下效果,我用了一个StringDS: TfrxUserDataSet和frxReport1:TfrxReport控件,但是我打印预览时页数为0,想调试frxReport1GetValue函数,好像没有执行?
打印格式如下:
张山 通过考试 成绩 优秀
查询网址 wwww.aaa.com
证书编号 1111111
其中"张山"和"优秀"从listview中读取
listview中的记录如下
namge grade
张山 优秀
其中打印时"张山"和"优秀"的位置允许用户调整!
我得代码:
procedure TForm_print.Button_printClick(Sender: TObject);
var
i:integer;
begin
for i:=0 to listview.Items.Count -1do
begin
sl.Clear;
sl.Add(listview.Items.Caption);//准考证号
sl.Add(listview.Items.SubItems.Strings[0]);//姓名
sl.Add(listview.Items.SubItems.Strings[1]);//成绩
sl.Add(listview.Items.SubItems.Strings[2]);//等级
sl.Add(listview.Items.SubItems.Strings[3]);//语种
StringDS.RangeEnd := reCount;
StringDS.RangeEndCount := sl.Count;
frxReport1.ShowReport;
end;
end;
procedure TForm_print.frxReport1GetValue(const VarName: String;
var Value: Variant);
begin
if CompareText(VarName, 'nj') = 0 then
//nj是报表设计器得一个memo字段
Value := sl[StringDS.RecNo];
end;
打印格式如下:
张山 通过考试 成绩 优秀
查询网址 wwww.aaa.com
证书编号 1111111
其中"张山"和"优秀"从listview中读取
listview中的记录如下
namge grade
张山 优秀
其中打印时"张山"和"优秀"的位置允许用户调整!
我得代码:
procedure TForm_print.Button_printClick(Sender: TObject);
var
i:integer;
begin
for i:=0 to listview.Items.Count -1do
begin
sl.Clear;
sl.Add(listview.Items.Caption);//准考证号
sl.Add(listview.Items.SubItems.Strings[0]);//姓名
sl.Add(listview.Items.SubItems.Strings[1]);//成绩
sl.Add(listview.Items.SubItems.Strings[2]);//等级
sl.Add(listview.Items.SubItems.Strings[3]);//语种
StringDS.RangeEnd := reCount;
StringDS.RangeEndCount := sl.Count;
frxReport1.ShowReport;
end;
end;
procedure TForm_print.frxReport1GetValue(const VarName: String;
var Value: Variant);
begin
if CompareText(VarName, 'nj') = 0 then
//nj是报表设计器得一个memo字段
Value := sl[StringDS.RecNo];
end;