以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教excel报表关联表的细节区定义 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=23717) |
||||
-- 作者:wjl-se -- 发布时间:2012/9/17 20:20:00 -- 请教excel报表关联表的细节区定义 A(父表)-B(子表),excel报表需要定义子表两个细节区,
<表A> <表B> <表B> <表A>
这种形式是否正确?
此主题相关图片如下:snap009.jpg [此贴子已经被作者于2012-9-17 20:23:06编辑过]
|
||||
-- 作者:paullqxp -- 发布时间:2012/9/17 20:28:00 -- 第五行至第八行,一共四行 都属于表C的细节区 |
||||
-- 作者:wjl-se -- 发布时间:2012/9/18 10:50:00 -- 请老师给看看
难道是一个关联表只能有一个细节区?
例子:
[此贴子已经被作者于2012-9-18 11:42:00编辑过]
|
||||
-- 作者:lin_hailun -- 发布时间:2012/9/18 11:24:00 -- 楼主,你这种需求用模板是实现不了的。 只能通过写代码完成。上传个例子帮你弄一下。 参考这个 http://www.foxtable.com/help/topics/1955.htm |
||||
-- 作者:wjl-se -- 发布时间:2012/9/18 11:43:00 -- 以下是引用lin_hailun在2012-9-18 11:24:00的发言:
楼主,你这种需求用模板是实现不了的。 只能通过写代码完成。上传个例子帮你弄一下。 参考这个 http://www.foxtable.com/help/topics/1955.htm 啊,太好了,谢谢!我看看先!! 例子在3楼! [此贴子已经被作者于2012-9-18 11:44:30编辑过]
|
||||
-- 作者:lin_hailun -- 发布时间:2012/9/18 12:09:00 -- 代码在报表事件里,修改了模板。注意看。
|
||||
-- 作者:wjl-se -- 发布时间:2012/9/18 12:50:00 -- 好的,谢谢 lin_hailun ! 问题解决了。 [此贴子已经被作者于2012-9-18 13:07:04编辑过]
|
||||
-- 作者:wjl-se -- 发布时间:2012/9/18 16:07:00 -- 以下是引用lin_hailun在2012-9-18 12:09:00的发言:
代码在报表事件里,修改了模板。注意看。
不好意思,我又回来了,代码似乎有点问题,结果是错乱的.我改成下面这样,还是错乱的。不知何故。。。
Select Case e.Book.TempLate
|
||||
-- 作者:lin_hailun -- 发布时间:2012/9/18 23:15:00 -- 呵呵,不好意思,代码是有欠考虑。 Select Case e.Book.TempLate Case "经销商调查表" Dim drs As List(Of DataRow) = e.DataRow.GetChildRows("附属信息") For i As Integer = 1 To 3 If i <= drs.Count Then e.Book.Marks("授权品牌" & i) = drs(i-1)("授权品牌") e.Book.Marks("改装厂" & i) = drs(i-1)("改装厂") Else e.Book.Marks("授权品牌" & i) = "" e.Book.Marks("改装厂" & i) = "" End If Next End Select [此贴子已经被作者于2012-9-18 23:15:26编辑过]
|
||||
-- 作者:lin_hailun -- 发布时间:2012/9/18 23:15:00 -- 这次代码测试可以。 Select Case e.Book.TempLate Case "经销商调查表" Dim drs As List(Of DataRow) = e.DataRow.GetChildRows("附属信息") For i As Integer = 1 To 3 If i <= drs.Count Then e.Book.Marks("授权品牌" & i) = drs(i-1)("授权品牌") e.Book.Marks("改装厂" & i) = drs(i-1)("改装厂") Else e.Book.Marks("授权品牌" & i) = "" e.Book.Marks("改装厂" & i) = "" End If Next End Select |