我觉得可以啊不知道你的判断逻辑 写个例子: Memo2放你的第一列,Memo3放你的第二列 procedure Memo1OnAfterData(Sender: TfrxComponent); begin Memo2.lines.clear; Memo3.lines.clear;
Memo2.lines.add(Trim(<Data."C_1">)); Memo3.lines.add(Trim(<Data."C_2">)); if Trim(<Data."C_1">)='A' then begin Memo2.lines.add(Trim(<Data."C_1">)); Memo3.lines.add(Trim(<Data."C_2">)); end else if Trim(<Data."C_1">)='B' then begin Memo2.lines.add(Trim(<Data."C_1">)); Memo3.lines.add(Trim(<Data."C_2">)); Memo2.lines.add(Trim(<Data."C_1">)); Memo3.lines.add(Trim(<Data."C_2">)); end; end;
要是你不要浏览的话,用一个for循环就行了 而我想的是在fr下写事件就行了的,不是有个newpage的吗,我怎么找不到啊?
。loadfrom(...)之后
用这个添加页面
self.frxReport1.Page.Create() //可能要带参数,没试过
用这个来访问指定页面
self.frxReport1.Pages[0]
用这个得到页面总数
self.frxReport1.PagesCount
写个例子:
Memo2放你的第一列,Memo3放你的第二列
procedure Memo1OnAfterData(Sender: TfrxComponent);
begin
Memo2.lines.clear;
Memo3.lines.clear;
Memo2.lines.add(Trim(<Data."C_1">));
Memo3.lines.add(Trim(<Data."C_2">));
if Trim(<Data."C_1">)='A' then
begin
Memo2.lines.add(Trim(<Data."C_1">));
Memo3.lines.add(Trim(<Data."C_2">));
end
else if Trim(<Data."C_1">)='B' then
begin
Memo2.lines.add(Trim(<Data."C_1">));
Memo3.lines.add(Trim(<Data."C_2">));
Memo2.lines.add(Trim(<Data."C_1">));
Memo3.lines.add(Trim(<Data."C_2">));
end;
end;