当前位置:主页>销售管理软件> 列表

如何实现这样的打印 找药品进销存软件

财务软件版1楼: |编号 | 名称 | 属性 | 编 号 | 名称 | 属性|
|01 | aa | bb | 21 | cc | dd |
|02 | ee | ff | 22 | gg | hh |
...
...
|19 | ll | kk | 39 | uu | ia |
|20 | ab | cd | 40 | ef | gh |

2楼: 先倒入stringgrid再打印出来 如药品进销存软件

3楼: 用FastReport,在页面设置中设置列数为2即可。

4楼: 有没有 FastReport文档

5楼: Try
Top := 700;
arrLeft[0] := 200;
arrLeft[1] := 1300;
arrLeft[2] := 2400;
arrLeft[3] := 3500;
y := Top;
x := arrLeft[0];
PageHeight := 6800;//A4得纸张
LineSpace := 100;//行间距
j :=1;
for i := 0 to Memo_BarCode.Lines.Count - 1 do
begin
Printer.Canvas.Font.Name :=''宋体'';
Printer.Canvas.Font.Size :=12;
Printer.Canvas.TextOut(x,y,Memo_BarCode.Lines[i]);
Printer.Canvas.TextOut(2200,6500,''第【1】页'');
y := y + LineSpace;
if(y > PageHeight - Top) then
begin
j :=j+1;
if j=2 then x :=arrLeft[1]
else if j=3 then x :=arrLeft[2]
else if j=4 then x :=arrLeft[3]
else
x :=arrLeft[0];
if j >4 then
begin
if ((j-1) mod 4=0) then //超过4列就换页
begin
Printer.NewPage;
x :=arrLeft[0];
y :=Top;
j :=1;
Printer.Canvas.TextOut(2200,6500,''第【''+IntToStr(trunc(j/4)+1)+''】页'');
end;
end;
y :=Top;
end;
end;
Printer.EndDoc;

6楼: frstreport中的PAGE选项中有一个NUMBERS设置为2就可以了

财务软件版7楼: 用Printer类啊!
打印这样的内容用Printer类正合适。
而且代码量也不多

8楼: 如果使用quickreport的话,在quickrep有一个事件onneeddata可以在这个事件中对打印数据进行组合,即可实现你所说的分栏

9楼: 多人接受答案了。