以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  请教:如何用XSL做交叉表(思想)  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=49352)


--  作者:Zjusan
--  发布时间:7/3/2007 11:45:00 AM

--  请教:如何用XSL做交叉表(思想)
请问:如何用XSL做交叉表,能不能提供一点思路,参考一下!
--  作者:Zjusan
--  发布时间:7/3/2007 4:50:00 PM

--  
难道没有高人!还是我的这种想法有先天的错误!
--  作者:hexun831012
--  发布时间:7/4/2007 3:43:00 PM

--  
不知说云,愿闻详解
--  作者:Zjusan
--  发布时间:7/6/2007 5:25:00 PM

--  
我的表报用xsl做的!现在要做交叉表,不想用数据库里的那种做法做,想根据数据明细直接通过xsl分组解析出来!有一些想法,但在XSL内行不啥通!特别是嵌套动态的,特难!<tr><td>也特难分布到
XSL中,在此问问有没什么新的想法和建议!
--  作者:hexun831012
--  发布时间:7/8/2007 11:34:00 AM

--  
说实话,你的思路有问题
--  作者:Zjusan
--  发布时间:7/9/2007 9:56:00 AM

--  
楼上的兄才!其实我也知道我的思路是有点问题!能不能说你的想法呢?
                   
                            


--  作者:gogy
--  发布时间:7/9/2007 10:16:00 AM

--  
楼主太懒了,你应该把你要得到的效果,发个简单的示例。不然,谁知道你要什么效果呢?
--  作者:Zjusan
--  发布时间:7/9/2007 10:59:00 AM

--  
具体示例-
   给出的明细:姓名 性别  年龄  班级 语文 数学
                      张1   男    20   1班  80     90
                      张2   女    20   2班  90     70
                      张3   男    21   2班  80     81
                      张4   女    22   2班  80     81

         展现出来的格式1:
                                        1班                2班         ....
                          年龄段    男   女         男    女   
                          20          1     0          0      1
                          21          0     0          1      0
                          22          0     0          0      1
                          ...          ...                 ...   

        展现出来的格式2:
                                      1班                  2班          ....
                          课程      男   女           男    女   
                          语文      80   0            80    170
                          数学      90   0            81    151
                          ...        ...             ...


--  作者:gogy
--  发布时间:7/9/2007 4:39:00 PM

--  
你的思路没有问题,可以做到。只是你不知道怎样实现动态分组,对吗?其实,你前面提过类似的问题。其实很简单。
--  作者:gogy
--  发布时间:7/9/2007 4:40:00 PM

--  
能留你QQ吗?等我回家告诉你吧
--  作者:gogy
--  发布时间:7/9/2007 5:23:00 PM

--  
group-by="*[name() = $var]"
--  作者:hexun831012
--  发布时间:7/9/2007 5:25:00 PM

--  
哦,那不就是一个数据源对应两个转换吗,所以还是思路问题
--  作者:Zjusan
--  发布时间:7/10/2007 9:53:00 AM

--  
我的思路是有点问题,不过我还是想说说我的设计思路:
    用展现出来的格式1:1、显示标题,按班级group,
                                    <tr>
                                       <td rowspan="2">年龄段</td>
                                       <xsl:for-each-group select=  group-by >
                                      <td colspan="2"  ?3><xsl:value-of /></td>
                                       </xsl:for-each-group>
                                    </tr>
                                    ?1<tr>
                                         <td>男</td>
                                         <td>女</td>
                                         </tr>
                                2、再用年龄段group-->班group-->性别group得到相应得值
                                     <xsl:for-each-group select=  group-by="年龄段">
                                      <tr>
                                          <xsl:for-each-group select="current-group()"  group-by ="班">
                                        <xsl:for-each-group select="current-group()"  group-by ="性别">
                                      <td ><xsl:value-of /></td>?2
                                       </xsl:for-each-group>
                                        </xsl:for-each-group>
                                      </tr>
                                       </xsl:for-each-group>

                存在的问题:1、在?1的位置怎样循环显示标题下的"男、女"
                                  2、?2如何显示没有的默认值
                                  3、当出现下列情况时,?3标题该何设置colspan和rowspan。
                                       1班                                 2班         ....
                          年龄段    语文  数学 英语  ....化学    语文  数学 英语    ....化学
                          20          1      0       0                   0      1   0
                          21          0      0       0                   1      0   0
                          22          0      0       0                   0      1   0

              请指点指点?


--  作者:Starling
--  发布时间:7/11/2007 9:10:00 AM

--  
LZ思路似乎没啥大问题,但语言表达似乎有些混乱~~
--  作者:Zjusan
--  发布时间:7/18/2007 3:00:00 PM

--  
想了、等了这么久,确实没办法搞定<tr><td></td></tr>循环显示!
现在研究Jpivot,看看它能不能搞定!没办法啊!
--  作者:Qr
--  发布时间:7/18/2007 4:15:00 PM

--  
看得懂这个贴子http://bbs.xml.org.cn/dispbbs.asp?boardID=1&ID=49798
1.0就能搞掂,不必2.0。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
101.563ms