分享
 
 
 

TDC

王朝百科·作者佚名  2009-11-24
窄屏简体版  字體: |||超大  

【摘要】TDC是Internet Explorer4.0及以上版本提供的一个组件,它以有界定符文本文件作为数据来源,利用缓冲机制,在本地机实现对数据的动态控制,并支持Recordset集的属性和方法。如果将TDC数据绑定到WEB页面的HTML元素,可以不依赖ASP、CGI等服务器端处理逻辑,实现用户与页面的动态交互,减少动态网页对服务器的依赖程度,减轻服务器的压力和缓解网络拥挤。

【关键字】数据绑定TDC 动态页面

动态网页一般通过用户与服务器的交互操作实现,用户向服务器发出请求,服务器使用ASP、CGI等获取用户提交的信息,进行处理后将结果返回给给用户,这种方式一方面要求服务器提供上述服务和拥有服务器端执行程序的权限,另一面由于这种方式对服务器的依赖性很强,会加重服务器的负担和网络拥挤程度。Internet explorer 4.0及更高版本可以通过数据绑定技术(Data binding)和表格数据控件TDC(tabular data control)访问有限定符文本文件,以HTML文件为模板显示数据,并通过对已缓冲至本地机的文本文件操作,实现访问客户与数据驱动页面的动态交互。

一. 数据绑定技术

数据绑定由四部分组成——数据源对象(DSO-Data Source Object)、数据引用(Data consumer)、绑定代理(Binding agent)和列表(显示)代理(Table repetition agent)。数据源对象提供数据传输、操作和通过脚本访问数据的能力;数据引用一般指WEB页面元素,它定义数据如何显示等;绑定代理用于数据识别和维护;列表(显示)代理用于保证列表数据的正确引用。

二. TDC组件

TDC是Internet explorer提供的内置数据源控件,提供访问有定界符文本文件的能力,拥有Datasrc、Fielddelim、Textquqlifier、Rowdelim、Sort、Filter和Useheader等属性及Reset方法,并可通过TDC对象的ID.recordset.{ Properties|method},访问相应的Recordset集的属性和方法。

有定界符文本文件

表格一般和数据库对应,在有定界符文本文件中的一行相当于数据库的一个记录,每行中由定界符括起来的字符串相当于记录中的字段。在TDC引用的文本文件中有三种定界符:文本限定符、字段限定符和行限定符。假设文本文件software.txt中有如下内容:

name,description,type,company,location

’IE5.0’,’Microsoft Internet explorer 5.0’,’Browser’,’Microsoft’,’tie50.zip’

’FP98’,’Microsoft Frontpage 98’,’Editor’,’Microsoft’,’fp98.zip’

第一行为字段的名称,第二、三行为两个记录。其中,单引号(’)是文本限定符,逗号(,)是字段限定符。

在WEB页中引用TDC组件

在WEB页中的头部或主体内用<Object>…</Object>语句建立TDC对象的实例,如:

<OBJECT id=software classid=CLSID:333C7BC4-460F-11D0-BC04-0080C7055A83>

<PARAM NAME="TextQualifier" VALUE="'">

<PARAM NAME="FieldDelim" VALUE=",">

<PARAM NAME="DataURL" VALUE="software.txt">

<PARAM NAME="UseHeader" VALUE="true">

</OBJECT>

其中,Id为对象指定一个名称,以便在以后的WEB元素中引用,参数Textqualifer定义文本限定符,参数FieldDelim定义字段限定符,参数DataURL指定TDC读取数据的文本文件,参数UseHeader的Ture和False指定在文本文件中是否有字段名定义。

将数据绑定到Table元素

Table是一种可以进行多值绑定的HTML元素,<Tr>…</Tr>对应一个记录,<Td>…</Td>对应一个字段,在这两个元素对中,利用可以单值绑定元素引用数据,在页面上显示具体地数据内容。如:

<Table datasrc=#software Datapagesize=15>

<Tr>

<Td>名称</Td>

<Td>软件介绍</Td>

……

<Td>下载地址</Td>

</Tr>

<Tr>

<Td><span datafld=”name”></span></Td>

<Td><span datafld=”description”></span></Td>

……

<Td><a datafle=”location”>download</a></Td>

</Tr>

在上面的语句中,利用数据引用组件的DATASRC、DATAFLD及DATAFORMATS、DATAPAGESIAE属性,通过ID属性将文本文件的数据内容绑定到HTML元素,TDC控件自动将符合要求的数据内容在页面中显示。

三. 数据排序、过滤、复位和RECORDSET集

数据排序通过设定排序条件并使用reset方法,按某一字段和以逗号分隔的多个字段组合进行升序或降序排列,字段前有“+”表示按升序排列,“-”号表示按降序排列;过滤按某一查询条件通过reset方法生全部记录的一个子集,并使在表中显示的数据限制在子集范围内。如:

Software.sort=”+name”

Software.reset

对整个记录录按字段name进行升序排列

Software.sort=”+type,-company”

Software.reset

对整个记录按字段type升序和company降序排列。

Software.filter=”type=browser”

Software.reset

生成只含有浏览器(browser)的子集。

Software.filter=”type<>browser&company=Microsoft”

Software.reset

生成满足type不是浏览器(browser)而且公司为Microsoft的整个记录集的子集。

RECORDSET属性

Recordset集有如下属性和方法:

recordset.{MoveFirst | MoveLast | MoveNext | MovePrevious}

移动记录指针指到第一、最后一条、下一条、上一条记录。

recordset.{absolutionpage| pagecount|pagesize}

返回当前页序号、页面总数、每页记录个数。

recordset.{recordcount|AbsolutePosition}

返回记录集中记录个数、当前记录号。

recordset.{eof|bof}

返回是否已到最后、第一个记录。

在WEB页面中,用DatasrcID.recordset.{ Properties|method}操作整个记录集。如:

software.recordset.movenext

可以将上面例子中的记录指向下移一个记录。

四. 一个进行软件查询的交互页实例

本例中用户可以通过两个下拉菜单选排序字段,和按某一软件名对整个数据库进行过滤。

<HTML><HEAD><TITLE>软件查询</TITLE>

<OBJECT id=software classid=CLSID:333C7BC4-460F-11D0-BC04-0080C7055A83>

<PARAM NAME="TextQualifier" VALUE="'">

<PARAM NAME="FieldDelim" VALUE=",">

<PARAM NAME="DataURL" VALUE="software.txt">

<PARAM NAME="UseHeader" VALUE="true">

</OBJECT>

</HEAD>

<BODY>

<B>Sort by:</B>

<SELECT onchange="software.Sort=('+'+this.value); software.Reset()">

<OPTION value="" selected>None</OPTION>

<OPTION value="name">Name</OPTION>

<OPTION value="type">type</OPTION>

<OPTION value="company">company</OPTION>

</SELECT>

<B>Filter by:</B>

<SELECT onchange="software.Filter=('name='+this.value); software.Reset()">

<OPTION

value="" selected>None</OPTION>

<OPTION value="IE5.0">ie5.0</OPTION>

<OPTION value="FP98">fp98</OPTION></SELECT>

<TABLE dataSrc=#software cellspacing=0 border=1>

<THEAD>

<TR>

<TD><B>名称</B></TD>

<TD><B>描述</B></TD>

<TD><B>类型</B></TD>

<TD><B>公司</B></TD>

<TD><B>下载</B></TD>

</TR>

</THEAD>

<TBODY>

<TR>

<TD><SPAN dataFld=name></SPAN></TD>

<TD><SPAN dataFld=description></SPAN></TD>

<TD><SPAN dataFld=type></SPAN></td>

<td><span dataFld=company></SPAN></td>

<td><a dataFld=location>download</a></TD>

</TR>

</TBODY>

</TABLE>

</BODY>

</HTML>

五. 结论

数据绑定和TDC控件给我们提供了脱离服务器端有关处理逻辑支持,实现动态WEB页面的方法和工具,结合DHTML提供的大量的新技术、新方法和控件,可以对TDC控件和WEB页面元素进行更多更精确的控制,利用上面介绍的方法,对小型数进行据查询或个人站点上实现动态网页效果非常好。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有