使用XML技术实现OWC对数据库的展示(二)

2024-02-24 19:08

本文主要是介绍使用XML技术实现OWC对数据库的展示(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

二、使用OWC控件和HTML表格展现XML数据

2.1 基本功能的实现

这里新建了另外一个HTML页面。为了使用刚才得到的XML数据,在HTML页面中,采用XML 数据岛:

<XML id="dbXML" src="getData.asp" onreadystatechange="init()"></XML>

然后,可以利用HTML表格的绑定功能展现数据:

<table  datasrc="#dbXML" style="width:100%;BORDER-COLLAPSE: collapse;" border=1 cellpadding=0 cellspacing=0> 

   <tr> 

    <td><div  type=text  datafld=Stat_Date></div></td> 

    <td><div  type=text  datafld=Call_Num></div></td>

    <td><div type=text datafld=Call_Fee></div></td> 

   </tr> 

</table>

在刚才的XML数据岛的onreadystatechange事件对应的init()函数中,我们通过如下代码实现OWC的图表:

<OBJECT id=CS1 style="WIDTH:400px;TOP:0px;HEIGHT:280px"

classid=clsid:0002E556-0000-0000-C000-000000000046 VIEWASTEXT>

</OBJECT>

<script lanaguage=vbscript>

Sub init()

    if(dbXML.readyState="complete") then

        dim strXML

        set strXML=dbXML.XMLDocument

        createChart strXML,CS1

    end if

End Sub

Sub createChart(byref oxml,cspace) '根据传入的XML生成图表

        Dim xdoc,xroot,cCnt

        Dim ndx,cnode,txtData,txtCat,txtData2

           

        Set xdoc=dbXML.XMLDocument

        Set xroot = xdoc.documentElement

        cCnt = xroot.childNodes.length

        txtData = "":txtCat = ""

        ' XML数据中得到相应的子符串

        For ndx = 0 To cCnt - 1

            Set cnode = xroot.childNodes(ndx)

            txtCat = txtCat & cnode.childNodes(0).text

            txtData = txtData & cnode.childNodes(1).text

            txtData2=txtData2 & cnode.childNOdes(2).text

            if ndx <> (cCnt -1) then

                txtCat = txtCat & ","

                txtData = txtData & ","

                txtData2 = txtData2 & ","

            end if

        Next

       

        '---下面开始绘图----------

       '添加数据序列1

       set ch =cspace.Charts.Add()

       set s = ch.SeriesCollection.Add()

       s.name="通话费用(元)"

       s.Caption=s.name

       s.SetData c.chDimCategories,c.chDataLiteral, txtCat

       s.SetData c.chDimValues, c.chDataLiteral, txtData

       s.type=8 '曲线图

      

       '设定时间刻度轴格式

       Set axCategory = cspace.Charts(0).Axes(c.chAxisPositionCategory)

        with axCategory

           .GroupingUnitType = c.chAxisUnitMonth '月

           .GroupingUnit = 1 '单位

           .NumberFormat="Short Date" '短日期

       end with

      

       '添加数据序列2

       set s2 = ch.SeriesCollection.Add()

        s2.name="通话次数(次)"

       s2.Caption=s2.name

       s2.SetData c.chDimValues, c.chDataLiteral, txtData2

 

       '标题

       ch.HasTitle = true

       ch.Title.Caption="通话情况月报"

       ch.Title.font.color="black"

       ch.Title.font.size=10

       ch.Title.font.bold=true

      

       'ChartSpace属性

       cspace.Border=c.chLineDash

       cspace.HasSelectionMarks=true

       cspace.AllowFiltering=true '允许命令与分组

       cspace.AllowPropertyToolbox=true

      

       '设置图例及位置

       ch.Legend.Position=c.chLegendPositionRight

       ch.HasLegend=false

 

       '分成不同的组,显示双坐标轴

       s2.UnGroup TRUE

       Set axIncomeAxis = ch.Axes.Add(s2.Scalings(c.chDimValues))

       axIncomeAxis.Position = c.chAxisPositionRight

       axIncomeAxis.HasMajorGridlines=false

       s2.type=0 '柱形图

    End Sub

这样,我们就得到了数据表格和图表,其最终效果如下:

这样,借助于XML技术和IE绑定技术,我们就实现了OWC对数据库中数据的展示,而在客户端并没有暴露任何数据连接信息。

 

2.2 其他功能

OWC可以很容易的实现将所见到的图表保存为本地图片,大大方便了使用者。同时,OWC提供了多种图表类型,如:饼图、曲线图、柱形图等,适合在不同的情况下展现数据。

 

如果借助COM组件、以及对XSL的灵活运用,我们这个页面能得到更好的性能和更强的功能。比如:对HTML表格的排序(参见附件中的HTML源代码)、数据分页等。此外,我们还可以实现通用的数据访问、搜索功能。

 

附:参考文档

1:微软MSDN联机文档中提供了另外一种OWCXML数据的直接绑定来实现图表,其需要同时加载datasourceControl控件或者Spreadsheet控件。参见:

http://msdn.microsoft.com/library/en-us/dnowcbk/html/odc_chap4owc.asp?frame=true#odc_chap4owc_xml

 

2:本文档参考了OWC ToolPack文档中的VBScript生成ChartSpace图表的相关内容。OWC ToolPack是微软推荐的进行OWC开发的最佳参考文档。下载地址如下:

http://www.microsoft.com/downloads/details.aspx?FamilyId=BEB5D477-2100-4586-A13C-50E56F101720&displaylang=en

这篇关于使用XML技术实现OWC对数据库的展示(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/743075

相关文章

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

Windows下C++使用SQLitede的操作过程

《Windows下C++使用SQLitede的操作过程》本文介绍了Windows下C++使用SQLite的安装配置、CppSQLite库封装优势、核心功能(如数据库连接、事务管理)、跨平台支持及性能优... 目录Windows下C++使用SQLite1、安装2、代码示例CppSQLite:C++轻松操作SQ

PostgreSQL中MVCC 机制的实现

《PostgreSQL中MVCC机制的实现》本文主要介绍了PostgreSQL中MVCC机制的实现,通过多版本数据存储、快照隔离和事务ID管理实现高并发读写,具有一定的参考价值,感兴趣的可以了解一下... 目录一 MVCC 基本原理python1.1 MVCC 核心概念1.2 与传统锁机制对比二 Postg

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4