____________________
|_____________|______________
| |清波派出所
|上城分局 | -------------
| |湖滨派出所
|_____________|_______________
| |小营派出所
|下城分局 |--------
| |城站分局
| |---------
| |战前派出所
|_____________|________________
这个侧边拦是动态可变的,大虾们怎么设计,有200分的
|_____________|______________
| |清波派出所
|上城分局 | -------------
| |湖滨派出所
|_____________|_______________
| |小营派出所
|下城分局 |--------
| |城站分局
| |---------
| |战前派出所
|_____________|________________
这个侧边拦是动态可变的,大虾们怎么设计,有200分的
解决方案 »
- DELPHI的那个设置属性的控件名叫什么
- 请问大家组件SpeedButton和ScrollBox组件分别是什么组件?
- [delphi7]有没有什么办法在"build"时不显示warning信息?
- 如何在某個區間得到隨機數,比如10-36這個區間得到隨機數?
- 谁有MMTOOLS的完全解密版?
- 关于内存映射文件保持一致性的问题,高手请进,在线等待!!!
- delphi4 bde的问题?
- 【高人请进】 关于NTLM的认证
- 怎样才能使装98的机器能访问局域网中安装2000的机器上的共享文件?
- 请问类似 OICQ的窗口(就是每个子窗口最小化都落到任务栏上)是如何实现的????
- [菜鸟问题]使用treeview控件如何展开第一层结点?
- NT註冊/啓動問題請教
用动态创建控件的方法,标签的位置和高度都是可以调节的!
当然要在ONMANUAL***那个事件里边写
可以定制任意复杂的报表,
不过标签得放细项头里!
在fastreport开发指南里面有讲到怎么处理啊,在fastreport里面也应该有类似的例子
见图
http://blog.codelphi.com/nil/gallery/image/240.aspx
--大类是产品分类,明细是产品清单整体思想是根据循环来'画'报表!
用两个个循环在MANUALBUILD里自定义报表。
显示大类---显示明细---(都在细项头里赋值)
大类显示是这样的|``````|(开始,虚线代表横线(不知道怎么画横))
|``````|(中间循环部分,可根据记录条数调整-XX派出所-显示的位置)
________
|______| (结束)
明细显示照常显示带边框的。我这里有实际的项目代码!
ocedure Tfrm_SLS_XSTHCXDV.fr_sl_expdlManualBuild(Page: TfrPage);
var
i:integer;
begin
inherited;
//手工设置打印数据项
with qry_dy1 do
begin
close;
sql.Clear;
sql.Add('select sum(number) as num,sum(amount) as amount from sl_expdl where itemname='''+wwdblc_pm.Text+'''');
sql.Add(' and billid in (select billid from sl_exp where year(sldate)=:nf and month(sldate)=:yf ) ');
parambyname('nf').asinteger:=strtoint(cb_nf.text);
parambyname('yf').asinteger:=strtoint(cb_yf.text);
open;
end;
//添加报表头
fr_sl_expdl.FindObject('memo4').Memo.text:=wwdblc_pm.Text;
fr_sl_expdl.FindObject('memo8').Memo.text:=cb_nf.Text;
fr_sl_expdl.FindObject('memo7').Memo.text:=cb_yf.Text;
fr_sl_expdl.FindObject('memo26').Memo.text:=qry_dy1.fieldbyname('num').asstring;
fr_sl_expdl.FindObject('memo27').Memo.text:=qry_dy1.fieldbyname('amount').asstring;
fr_sl_expdl.FindObject('memo30').Memo.text:=floattostr(around(qry_dy1.fieldbyname('amount').asfloat/qry_dy1.fieldbyname('num').asfloat,3));
Page.showbandbyname('band');
with qry_dy1 do
begin
close;
sql.Clear;
sql.Add('select distinct itemtypename from sl_expdl where itemname='''+wwdblc_pm.Text+'''');
sql.Add(' and billid in (select billid from sl_exp where year(sldate)=:nf and month(sldate)=:yf ) ');
parambyname('nf').asinteger:=strtoint(cb_nf.text);
parambyname('yf').asinteger:=strtoint(cb_yf.text);
open;
end;
qry_dy1.First;
while not qry_dy1.Eof do //开始大循环显示规格型号
begin
with qry_dy2 do
begin
close;
sql.clear;
sql.Add(' select price,number ,amount from sl_expdl ');
sql.Add(' where itemtypename='''+qry_dy1.fieldbyname('itemtypename').asstring +''' and itemname='''+wwdblc_pm.Text+'''');
sql.Add(' and billid in (select billid from sl_exp where year(sldate)=:nf and month(sldate)=:yf ) ');
parambyname('nf').asinteger:=strtoint(cb_nf.text);
parambyname('yf').asinteger:=strtoint(cb_yf.text);
open;
end;
i:=0;
qry_dy2.First;
while not qry_dy2.Eof do //小循环显示各个规格型号对应的明细项
begin
if i=0 then
begin
fr_sl_expdl.FindObject('Memo14').memo.Text:=qry_dy1.fieldbyname('itemtypename').asstring;
fr_sl_expdl.FindObject('Memo15').memo.Text:=qry_dy2.fieldbyname('price').asstring;
fr_sl_expdl.FindObject('Memo16').memo.Text:=qry_dy2.fieldbyname('number').asstring;
fr_sl_expdl.FindObject('Memo17').memo.Text:=qry_dy2.fieldbyname('amount').asstring;
fr_sl_expdl.FindObject('Memo18').memo.Text:='———';
Page.showbandbyname('band1');
end else
begin
fr_sl_expdl.FindObject('Memo19').memo.Text:='';
fr_sl_expdl.FindObject('Memo20').memo.Text:=qry_dy2.fieldbyname('price').asstring;
fr_sl_expdl.FindObject('Memo21').memo.Text:=qry_dy2.fieldbyname('number').asstring;
fr_sl_expdl.FindObject('Memo22').memo.Text:=qry_dy2.fieldbyname('amount').asstring;
fr_sl_expdl.FindObject('Memo23').memo.Text:='———';
Page.showbandbyname('band2');
end;
qry_dy2.Next;
i:=i+1;
end;
qry_dy1.Next;
end;
Page.showbandbyname('band3'); //显示合计
//Page.showbandbyname('band4');
end;不过要注意里边MEMO的设置----边框一类的!!!!!!!!!
要不不会有结果.
我在上海,单位不能用QQ,
太忙了,刚上来,所以现在才发,不好意思,呵呵.我做的项目显示是这样的:
|`````|1*2|$12.3|...
|半轴A|2*4|$23.5|...(其他项)
|_____|3*8|$34 |...
应该是你的要求吧?
兄弟,搞定了吗?
我这里不让用QQ,所以只能通过次方式交流啊!