XXXXXXXXXXXX(标题)
客户名:XXXXX 公司名:XXXXXXXXXXXXXX
客户电话:XXXXXX 公司电话:XXXXXXXXXXXX
序号 产品编号 产品名称 价格1 价格2 价格3 日期
1 XXXXXX XXXXX XXXX XXXX XXXX XXXX
2 XXXXXX XXXXX XXXX XXXX XXXX XXXX
... ... ... ... ... ... ...
10 XXXXX XXXXX XXXX XXXX XXXX XXXX
备注:
大概的格式就是上面那个样子,本来有格子的,但是我画不出来.中间的产品明细部分要求显示10行
表结构我还没设计.大家有什么好思路可以提一提.本来如果没有中间的那10行就是极其简单的一张报表...但是由于中间那10行和前面4个字段形成多对一的关系,所以有点不好处理了.我考虑过用复合报表,但做出来不好看.不知道各位大哥有什么好方法指点下小弟,谢谢!
8 个解决方案
#1
用TABULAR类型得数据窗口
前面那四个公司得信息
可以用计算列来是是实现,..定义一个全局函数,,在里面找到公司得信息返回给计算列
http://www.simpsoft.cn/dispbbs.asp?boardid=20&id=140
前面那四个公司得信息
可以用计算列来是是实现,..定义一个全局函数,,在里面找到公司得信息返回给计算列
http://www.simpsoft.cn/dispbbs.asp?boardid=20&id=140
#2
用grid就行吧,上面四行放在表头上,中间的放明细区。
#3
grid是不行的,tabular貌似可以,那限定只显示10行怎么搞?
#4
限定10行意思是有10行数据就出前10行,不够10行数据后面用空行补足.有高手能指点一下吗?
#5
如果实在找不到好的方法就画好表格,循环往里写!笨吧,哈哈
#6
我也想这样,其实先画好表格再用循环填数据是一种通用的方法...不过如果有好方法当然先考虑了
#7
这样的报表一般是画出来效果比较好,上面四行放在表头上,中间的放明细区。明细部分要求显示10行,不足10行插入空行,可以按照下面步骤操作:
第一步:
增加一个计算列,此计算列必须放在Detail段,Expression中输入:ceiling(getrow()/10),这里10还可以用全局函数取代,这样可以允许用户任意设置每页打印多少行。
第二步:
定义分组,选择菜单Rows->Create Group...按计算列字段分组,并一定将check box-->New Page On Group Break选中。
第三步:
将此计算列设为不可视。另外,如果需要最后一页不足补空行。也很简单,如下:
long ll_pagerow = 10 //每页打印行数
long ll_count, ll_row
ll_count = dw_report.retrieve(...) //取得现有报表的总行数
ll_count = ll_pagerow - mod(ll_count, ll_pagerow)
If ll_count < ll_pagerow Then
for ll_row = 1 to ll_count
dw_print.insertrow(0) //补足空行
next
end If
第一步:
增加一个计算列,此计算列必须放在Detail段,Expression中输入:ceiling(getrow()/10),这里10还可以用全局函数取代,这样可以允许用户任意设置每页打印多少行。
第二步:
定义分组,选择菜单Rows->Create Group...按计算列字段分组,并一定将check box-->New Page On Group Break选中。
第三步:
将此计算列设为不可视。另外,如果需要最后一页不足补空行。也很简单,如下:
long ll_pagerow = 10 //每页打印行数
long ll_count, ll_row
ll_count = dw_report.retrieve(...) //取得现有报表的总行数
ll_count = ll_pagerow - mod(ll_count, ll_pagerow)
If ll_count < ll_pagerow Then
for ll_row = 1 to ll_count
dw_print.insertrow(0) //补足空行
next
end If
#8
呵呵,谢谢大家,我想可以揭贴了
#1
用TABULAR类型得数据窗口
前面那四个公司得信息
可以用计算列来是是实现,..定义一个全局函数,,在里面找到公司得信息返回给计算列
http://www.simpsoft.cn/dispbbs.asp?boardid=20&id=140
前面那四个公司得信息
可以用计算列来是是实现,..定义一个全局函数,,在里面找到公司得信息返回给计算列
http://www.simpsoft.cn/dispbbs.asp?boardid=20&id=140
#2
用grid就行吧,上面四行放在表头上,中间的放明细区。
#3
grid是不行的,tabular貌似可以,那限定只显示10行怎么搞?
#4
限定10行意思是有10行数据就出前10行,不够10行数据后面用空行补足.有高手能指点一下吗?
#5
如果实在找不到好的方法就画好表格,循环往里写!笨吧,哈哈
#6
我也想这样,其实先画好表格再用循环填数据是一种通用的方法...不过如果有好方法当然先考虑了
#7
这样的报表一般是画出来效果比较好,上面四行放在表头上,中间的放明细区。明细部分要求显示10行,不足10行插入空行,可以按照下面步骤操作:
第一步:
增加一个计算列,此计算列必须放在Detail段,Expression中输入:ceiling(getrow()/10),这里10还可以用全局函数取代,这样可以允许用户任意设置每页打印多少行。
第二步:
定义分组,选择菜单Rows->Create Group...按计算列字段分组,并一定将check box-->New Page On Group Break选中。
第三步:
将此计算列设为不可视。另外,如果需要最后一页不足补空行。也很简单,如下:
long ll_pagerow = 10 //每页打印行数
long ll_count, ll_row
ll_count = dw_report.retrieve(...) //取得现有报表的总行数
ll_count = ll_pagerow - mod(ll_count, ll_pagerow)
If ll_count < ll_pagerow Then
for ll_row = 1 to ll_count
dw_print.insertrow(0) //补足空行
next
end If
第一步:
增加一个计算列,此计算列必须放在Detail段,Expression中输入:ceiling(getrow()/10),这里10还可以用全局函数取代,这样可以允许用户任意设置每页打印多少行。
第二步:
定义分组,选择菜单Rows->Create Group...按计算列字段分组,并一定将check box-->New Page On Group Break选中。
第三步:
将此计算列设为不可视。另外,如果需要最后一页不足补空行。也很简单,如下:
long ll_pagerow = 10 //每页打印行数
long ll_count, ll_row
ll_count = dw_report.retrieve(...) //取得现有报表的总行数
ll_count = ll_pagerow - mod(ll_count, ll_pagerow)
If ll_count < ll_pagerow Then
for ll_row = 1 to ll_count
dw_print.insertrow(0) //补足空行
next
end If
#8
呵呵,谢谢大家,我想可以揭贴了