走进PIMShell(4)--网页的架构htm/xml/js
来源:互联网 发布:筑龙投标软件 编辑:程序博客网 时间:2024/05/01 12:17
PIMShell中的界面都是用网页的形式实现的。PIMShell所使用的网页架构一般包含三个文件,.htm/.xml/.js。.htm文件定义界面中的DOM元素,.xml文件为DOM元素附加所需要的行为(behavior),.js文件实现javascript代码。比如,要实现一个用户列表,建立三个文件list.htm/list.htm.xml/list.htm.js,代码如下:
1、list.htm文件
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>用户列表</title>
- <link type="text/css" rel="Stylesheet" href="/css/main.css" />
- <xml src="list.htm.xml"></xml>
- <script type="text/javascript" src="list.htm.js" language="javascript"></script>
- </head>
- <body>
- <div id="List1"></div>
- </body>
- </html>
- 行4:定义了页面的样式。在main.css文件中为body设置了如下的样式
- body
- {
- behavior:url(#default#PIMShell);
- }
这个样式为body元素添加了一个名叫PIMShell的缺省行为。这个行为负责解析后续的xml文件,并激发onpageload事件,从而执行js文件中的代码。
行5:定义xml文件,为页面中的DOM元素附加行为。
行6:定义js文件,包含需要的javascript代码。
行9:定义了一个名为List1的div元素,用于显示列表信息。
2、list.htm.xml文件
- <?xml version="1.0" encoding="utf-16"?>
- <page>
- <root enableFrame="false" enableContextMenu="false">
- <controls>
- <control id="List1">
- <behaviors>
- <ListView autoFitRows="false" allowPage="false">
- <header>
- <cols>
- <col name="name" text="姓名" width="60">
- <bind>
- <text>[#Name#]</text>
- </bind>
- </col>
- <col name="sex" text="性别" width="40">
- <bind>
- <text>[#Sex#]</text>
- </bind>
- </col>
- <col name="email" text="电子邮件" width="80">
- <bind>
- <a href="mailto:[*Email*]"><img src="pim://images/mailsend.ico" border="0" /></a>
- </bind>
- </col>
- </cols>
- </header>
- </ListView>
- </behaviors>
- </control>
- </controls>
- <events>
- <onpageload handler="onpageload" />
- </events>
- </root>
- </page>
- 行5:将元素List1定义为部件
- 行7:为List1附加行为ListView
- 行8-26:定义列表中用到的属性列
- 行32:绑定事件onpageload
3、list.htm.js文件
- //事件:onpageload
- function onpageload()
- {
- //准备记录集
- var oEntityset=__prepareEntityset();
- //绑定
- $("List1").dataSource=oEntityset;
- $("List1").dataBind();
- }
- //准备记录集
- var g_sUsers="张三,男,zhangsan@msn.com;李四,男,lisi@msn.com;王霞,女,wangxia@msn.com";
- function __prepareEntityset()
- {
- //
- var oEntityset=Sys.Entityset;
- //
- var oUserArray=g_sUsers.split(";");
- for(var i=0;i<oUserArray.length;i++)
- {
- //添加一条新记录
- oEntityset.addNew();
- //
- var oPropArray=oUserArray[i].split(",");
- oEntityset("Name")=oPropArray[0];
- oEntityset("Sex")=oPropArray[1];
- oEntityset("Email")=oPropArray[2];
- }
- //移到首部
- oEntityset.movefirst();
- return oEntityset;
- }
- 行2:响应事件onpageload
- 行5:构造一个测试用的记录集oEntityset
- 行8-9:将记录集oEntityset绑定到元素List1上,从而完成列表的显示
4、网页运行效果
- 走进PIMShell(4)--网页的架构htm/xml/js
- 走进PIMShell(5)--Form(窗体)的应用
- 走进PIMShell(6)--预定义的全局变量
- 【js 走进web】Web基础 网页的关节JS
- 走进PIMShell(1)--为什么是这样
- 走进PIMShell(3)--实现TabNew行为(Behavior)
- 走进PIMShell(2)--不再使用external扩展浏览器,兼谈三种方案
- 利用htm+css+js编写一个网页计算器
- js和htm做的树
- 任何在htm中实现网页的访问统计?
- asp网页生成静态htm文件的方法
- 以前的笔记或摘录: 存储网页为HTM
- 修改PPT另存为网页的htm文件内容
- 【面向JS--走进JS】
- 【html 走进web】Web基础 网页的骨骼HTML
- 【CSS 走进web】Web基础 网页的血肉CSS
- 走进JAVA虚拟机(一) -------Java虚拟机的体系架构
- 我已使用新的CSDN blog -- PIMShell
- 基于Eclipse开发OSGI的简单实例
- sql中把字符型转成整型
- CPU调度算法演示
- .net学习总结(5)之Gridview控件,智能搜索
- uml的组成
- 走进PIMShell(4)--网页的架构htm/xml/js
- Hibernate入门
- Asterisk拨号方案语法基础
- 出租车“起步价”
- How to Create Dynamic Settings Pages
- [笔记]经验分享:流量大的网站可以采用静态gzip压缩某些页面及文件
- hibernate更新数据
- gx 1.0.2008.1130
- WAVE文件格式详解