随笔:45 文章:5 评论:25 引用:0
hill
BlogJava
首页
发新随笔
发新文章
联系
聚合
管理
关于owc 中PivotTable的设计与使用,希望给大家有点启发
根据项目需要,最近在做一个关于owc透视表的功能(PivotTable),这个东西啊让我可是郁闷了将近10天,网上很多资源都是直接连接数据源的方式,但对于实现系统开发来说,不实用,因为b/s系统多数是分层架构,并且部署实施时,很难由客户端直接向数据库服务器发出请求。原因就不多说了。
确定的解决方案是:
1.数据库后台组织数据和透视表展现样式
2.通过action将数据发到前端。
3.在前台通过ADODB.Recordset,msxml2.domdocument这两个对象加载数据
下面给出xml文件格式(这可是我在目前网上没找到的哦,也是最初困惑我的一方面)
1
<
xml
xmlns:s
='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
2
xmlns:dt
='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
3
xmlns:rs
='urn:schemas-microsoft-com:rowset'
4
xmlns:z
='#RowsetSchema'>
5
<s:Schema id
='RowsetSchema'>
6
<s:ElementType name
='row'
content
='eltOnly'
rs:CommandTimeout
='30'>
7
<s:AttributeType name
='name'
rs:number
='1'
rs:writeunknown
='true'>
8
<s:datatype dt:type
='string'
dt:maxLength
='100'
rs:maybenull
='true'/>
9
</s:AttributeType
>
10
<
s:AttributeType
name
='class'
rs:number
='2'
rs:writeunknown
='true'>
11
<s:datatype dt:type
='string'
dt:maxLength
='100'
rs:maybenull
='true'/>
12
</s:AttributeType
>
13
<
s:AttributeType
name
='score'
rs:number
='3'
rs:writeunknown
='true'>
14
<s:datatype dt:type
='int'
dt:maxLength
='100'
rs:maybenull
='true'/>
15
</s:AttributeType
>
16
<
s:extends
type
='rs:rowbase'/>
17
</s:ElementType
>
18
</
s:Schema
>
19
<
rs:data
>
20
<
z:row
name
='hill'
class
='1'
score
='10'
/>
21
<
z:row
name
='hill'
class
='2'
score
='20'
/>
22
<
z:row
name
='zuo'
class
='1'
score
='30'
/>
23
<
z:row
name
='zuo'
class
='2'
score
='40'
/>
24
</
rs:data
>
25
</
xml
>
这个xml只是一个小例子,可以按照这样的格式由程序动态生成,或是在数据库端以函数形式组织(这个方面好,尤其是数据量大且复杂的情况)
下面给出如何加载数据:
1
//声明RecordSet对象
2
var adors = new ActiveXObject("ADODB.Recordset");
3
//alert(adors);
4
//声明XMLDocument对象
5
//TODO:msxml2.domdocument有可能是msxml3.domdocument或msxml4.domdocument,有待证明
6
var xmldoc = new ActiveXObject("msxml2.domdocument");
7
//alert(xmldoc);
8
//服务器端返回的XML字符串,用来构造RecordSet
9
var str="
<%
=
xml
%>
";
10
11
//XMLDocument对象加载XML字符串
12
xmldoc.loadXML(str);
13
14
//RecordSet设定数据源为上面的XMLDocument对象,并打开
15
adors.Open(xmldoc);
16
17
pvt = document.PivotTable1;
18
19
pvtconstants = pvt.Constants;
20
//设定透视表的数据源为上面的RecordSet对象
21
pvt.DataSource = adors;
其中的xml变更为从action发到前台的xml数据
基本上这样就可以应用了。有不同观点的,愿意和你们一起交流
开心过好每一天。。。。。
发表于 2009-07-02 12:02
Hill
阅读(864)
评论(2)
编辑
收藏
评论
#
re: 关于owc 中PivotTable的设计与使用,希望给大家有点启发[未登录]
你好,owc 中PivotTable的设计与使用,你成功运用了嘛?我希望和你探讨下!谢谢!我正彷徨中。
#
re: 关于owc 中PivotTable的设计与使用,希望给大家有点启发[未登录]
我的QQ:249403099,期待与你的探讨!
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
CALENDER
<
2009年7月
>
日
一
二
三
四
五
六
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(3)
给我留言
查看公开留言
查看私人留言
随笔档案
2012年7月 (1)
2011年11月 (1)
2009年10月 (1)
2009年9月 (2)
2009年7月 (5)
2009年6月 (6)
2009年5月 (5)
2009年4月 (2)
2009年3月 (4)
2009年2月 (11)
2009年1月 (7)
文章档案
2014年11月 (1)
2011年6月 (1)
2011年3月 (1)
2009年4月 (1)
搜索
最新评论
1. 啦
去
--是
2. re: java中String.replaceAll()的使用
123123
--admin
3. re: document.selection.createRange方法[未登录]
adasd
--a
4. re: document.selection.createRange方法
很好谢谢
--d
5. re: java中String.replaceAll()的使用
不错,学习了
--cf2huihui
阅读排行榜
1. java中String.replaceAll()的使用(116727)
2. document.selection.createRange方法(11236)
3. Linux下的JFreeChart中文乱码问题解决方案(4045)
4. JPetStore学习手记(3777)
5. 可以帮助你理解iBatis中的parameterMap(活学活用)(3436)
评论排行榜
1. 对于新人,应该问问关于数据库这些问题(8)
2. java中String.replaceAll()的使用(5)
3. truncate与delete的区别(4)
4. document.selection.createRange方法(3)
5. 关于owc 中PivotTable的设计与使用,希望给大家有点启发(2)
Powered By:
博客园
模板提供
:
沪江博客