等着我的星星 發表於 2019-8-30 10:37:00

delphi xe 10.3 用FastReport打印预览当前记录

<p>本文链接:https://blog.csdn.net/qq_25439957/article/details/87110559<br>以下在WINDOWS10&nbsp; + DELPHI XE 10.3&nbsp; &nbsp;FireDAC +SQL SERVER 2008&nbsp; &nbsp;下通过:</p>
<p>以下在WINDOWS10&nbsp; + DELPHI XE 10.3&nbsp; &nbsp;FireDAC +SQL SERVER 2008&nbsp; &nbsp;下通过:</p>
<p>第一步,创建如下表单:</p>
<p>&nbsp;</p>
<p>第二步&nbsp; 拖入以下几个控件:</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>frxDBDataset1.DataSet:=SalesTable;</p>
<p>双击: FrxReport1打开FastReport设计器;如下</p>
<p>&nbsp;</p>
<p>在窗口顶部&nbsp; &nbsp;报表(R)下选择&nbsp; ‘数据’&nbsp; &nbsp;弹出如下图:</p>
<p>&nbsp;</p>
<p>勾选&nbsp;住&nbsp; FRXBDATASET1;按确定。</p>
<p>窗口右侧有&nbsp;数据树如图&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>左侧有点击插入BRAND&nbsp;页头,页尾,主数据,报表抬头;如下</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>把右侧&nbsp;数据树&nbsp;数据&nbsp; 下的 FRXDBDataSet1下的字段 ,SalesID,SalesPersonID.等拉到MasterData,如下图:</p>
<p>&nbsp;</p>
<p>为了查看即时效果,可打开&nbsp;菜单 ‘文件(F)‘下的’预览‘。效果如下图:</p>
<p>&nbsp;</p>
<p>可看出缺少&nbsp;标题 ;</p>
<p>再次选择MasterDATAS下的字段名,复到Pageheader下,如图:</p>
<p>&nbsp;</p>
<p>双击PageHeader下的各字段名,修改为中文名字</p>
<p>&nbsp;</p>
<p>还可以继续美化:左侧工具栏倒数第二个,插入“线型对象” ,在标题下划一条横线;在MasterDatas下的各字段下划一条横线如下图:</p>
<p>&nbsp;</p>
<p>好好看下图的LINE;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>按&nbsp; 文件(F)菜单下的预览结果如下图:</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>达到预期效果;</p>
<p>按&nbsp; 文件(F)菜单下的&nbsp;另存为,保到一个指定的文件夹里。比如C:\oz\&nbsp; ,文件名为test.fr3;</p>
<p>双击&nbsp; “预览”&nbsp;按钮;输入&nbsp;以下代码:</p>
<p>procedure TForm1.Button1Click(Sender: TObject);<br>begin<br>FDMemTable1.Close();<br>FDMemTable1.FieldDefs.Clear();<br>FDMemTable1.FieldDefs.Add('salesID', ftInteger, 0, True);<br>FDMemTable1.FieldDefs.Add('salesPersonID', ftInteger, 0, True);<br>FDMemTable1.FieldDefs.Add('CustomerID', ftInteger, 0, True);<br>FDMemTable1.FieldDefs.Add('productID', ftInteger, 0, True);<br>FDMemTable1.FieldDefs.Add('Quantity', ftString, 20, false);//建立一个与SalesTable一样的表<br>FDMemTable1.CreateDataSet();//建立空数据集<br>FDMemTable1.AppendRecord([<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SalesTable.FieldByName('salesID').Value,<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SalesTable.FieldByName('salesPersonID').Value,<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SalesTable.FieldByName('CustomerID').Value,<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SalesTable.FieldByName('productID').Value,<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SalesTable.FieldByName('Quantity').Value]);</p>
<p>//把SalesTable表的当前字段复制到FDMemTable1;</p>
<p>FDMemTable2.Active:=false;<br>FDMemTable2.Data:= FDMemTable1.Data ;//把FDMemTable1.Data复制给FDMemTable2.Data</p>
<p>frxDBDataset1.DataSet:=FDMemTable2;//把FDMemTable2赋值给frxDBDataset1.DataSet;//此举完成了对报表数据集的代替了。</p>
<p>frxReport1.LoadFromFile('C:\oz\test.fr3') ;//加载test.fr3<br>frxReport1.showReport;//预览<br>end;</p>
<p>&nbsp;</p>
<p>end.<br> ———————————————— <br>版权声明:本文为CSDN博主「qq_457565758」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。<br>原文链接:https://blog.csdn.net/qq_25439957/article/details/87110559</p><br><br>
来源:https://www.cnblogs.com/yerongtian/p/11433635.html
頁: [1]
查看完整版本: delphi xe 10.3 用FastReport打印预览当前记录