`
m635674608
  • 浏览: 5042505 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

dhtmlx技术使用总结与介绍中文手册

    博客分类:
  • js
 
阅读更多

界面的主要元素概述

DHTMLX是一套完整的具有客户端程序效果的界面组件,解决了常见的客户端操作要求。这套组件采用JavaScript、xml定义组件性征,某些组件甚至可以直接渲染HTML元素。
常见的容器元素包括:布局(layout)、滑动窗口(accordion)、页签(tab)、窗口(window);
常见的数据元素包括:表格(grid)、树(tree)、选择框(combo)、日历(calendar);
常见的窗体元素包括:右键菜单(menu)、工具条(toolbar)。

 

界面组件的使用流程:
(一) 引用必要的头文件,主要包括脚本文件.js以及样式文件.css;所有组件使用都必须引用dhtmlxcommon.js,以及本组件的脚本文件。部分组件还有皮肤样式文件。
(二) 界面组件使用的方式包括(1)使用Javascript、xml对组件进行初始化及(2)直接渲染html元素。
       a) 使用javascript和xml进行初始化的,需要在脚本之前声明一个<div>,并指明id,再在脚本中利用id对<div&gt;进行装载。
       b) 直接渲染html元素的,需要在脚本之前声明html元素,并指明id,再在脚本中通过dhtmlXxxxxFromxxxx的方法获取html元素的句柄,并加以操作。
(三) 界面组件可以用xml一次性加载数据,但是经验证,xml加载中文数据是会报错。也可以使用javascript逐一加载数据,大多数容器组件提供setContent或者attachObject的方法来加载数据。setContent还有setContentHTML、setContentHref,attachObject还有attachUrl等系列作用类似的方法。
(四) 通常,使用url使容器内容可以由另外一个页面来实现,可以简化本页面的内容,降低框架页面和数据页面的耦合性;访问父容器可使用组件或其内容的_frame属性。但是使用了url以后,会丢失容器的句柄,不利于对容器的回访。
(五) 帮助文档说明:在dhtmlxSuite.zip 压缩包下解压后 打开index.html 文件
文档分为Documentaction 组件的介绍 api的介绍
Samples(各种场景使用)
大部分使用场景在这份官方文档中寻找解决方法

布局

(一) Layout组件采用构造函数dhtmlXLayoutObject新建。此函数接受三个参数,第一个参数是填充目标,可以是HTML元素(div的id)、也可以是窗口、页签等其他容器,第二个参数是布局的样式,如下图所示,第三个参数是皮肤。

dhtmlx页面布局结构

dhtmlx页面布局结构

(二) 可以进一步对layout的响应进行定制,例如通过attachMenu定义右键菜单,通过attachToolbar定义工具条,通过attachStatusBar定义状态条等。
(三) 可以进一步对layout里每个窗体的外观进行定制。首先先要通过dhxLayout的cell方法获取窗体,其次通过setText定义布局的标题,通过showHeader/hideHeader定义标题是否显示,通过expand/collapse定义是否展开,通过dock/undock定义是否最大化,通过setHeight/setWidth定义其尺寸。
(四) 可以进一步对layout的内容进行定制。找到窗体后,通过attachUrl可以再窗体内显示目标url,通过attachXxx可以使用其他dhtmlx组件来填充此窗体。

页签

(一) Tab组件支持渲染html元素,但渲染过程不比从javascript构造简单,因此仍然建议使用构造函数dhtmlXTabBar新建。此函数接受两个参数,第一个参数是填充目标,第二个参数是样式(top、bottom、left、right)。
(二) 接下来必须用setImagePath指明图像资源目录。
(三) 接下来使用addTab为Tab添加页签。addTab接受三个参数,第一个参数是id,第二个参数是label,第三个参数是宽度。
(四) 可以进一步为每个页签指明内容,使用setContent、setContentHTML以及setContentHref可以将其他元素、HTML源代码、其他url作为页签内容。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Var tabbar=new dhtmlXTabBar("tab","top");
tabbar.setImagePath("./tabbar/codebase/imgs/");
tabbar.setSkinColors("#FCFBFC","#F4F3EE","#FCFBFC");
tabbar.setHrefMode("iframes");
 
tabbar.addTab("s0","首页","100px");
tabbar.addTab("s8","159成本核算信息系统","150px");
 
tabbar.setTabActive("s8",true,false);
 
tabbar.setContentHref("s0","/");
tabbar.setContentHref("s8","./159/index.html");
 
//tabbar.loadXML("module.xml");
tabbar.enableAutoReSize(true);

滑动窗口

(一) Accordion组件构造函数dhtmlXAccordion创建。此函数接受两个参数,第一个参数是填充目标,第二个参数是皮肤。
(二) 通过addItem可以逐一创建面板。此函数接受两个参数,第一个是面板id,第二个是面板标题。
(三) 通过dhtmlXAccordion的cell方法获得窗口内的面板,并通过attachXxx的方法定义每个面板里的页面。

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
<div id="m1" style="top: 20px;left 20px">
    <table>
        <tr>
            <td></td>
            <td>
                <a href="../159/1/1-1/list.html"
                    onClick="retrieve(this);return false;">成本科目维护</a>
            </td>
        </tr>
    </table>
</div>
var dhxLayout = new dhtmlXLayoutObject(document.body, "2U");
dhxLayout.cells("b").hideHeader();
dhxLayout.cells("a").setWidth(230);
dhxLayout.cells("a").setText("操作清单");
 
var dhxAccord = dhxLayout.cells("a").attachAccordion();
dhxAccord.addItem("m1""基础信息维护");
//dhxAccord.addItem("m2", "系统集成");
 
dhxAccord.cells("m1").attachObject("m1");
//dhxAccord.cells("m2").attachObject("m2");
 
dhxAccord.openItem("m1");
 
function retrieve(url){
dhxLayout.cells("b").attachURL(url);
}

 

页面布局图

表格

(一) Grid组件可通过HTML元素渲染,Grid组件扩展了html的td元素。Table里首行的 td 可以定义列的操作属性。这些属性包括只读(ro)、单行编辑(ed)、大段文本编辑(txt,类似于<textarea />)、复选框(ch)、单选按钮(ra)、下拉列表(co)、列表框(coro,不接受列表以外的输入)、金融格式(price)、动态标记(dyn)。
(二) 如果数据列是子表格,可以使用sub_row以及sub_row来标记列的类别。后者在调用时加载。
(三) Grid可以通过getCombo(列号).put(value,label)来定义复选框(co)和列表框(coro)的可选范围。
(四) Grid可以通过group/ungroup方法对数据分组显示
(五) Grid可以对表头或表底做特殊设置,例如本列求和(stat_total)、多列求和stat_multi_total)、最大值(stat_max)、最小值(stat_min)、平均值(stat_average)、 计数值(stat_count),相信有这些组件的帮助,我们也比Excel不逊色吧 :)
(六) Grid还支持客户端的很多操作,例如addRow、moveRow、deleteRow等等,让我们告别原始的弹出窗口加刷新的老套添加数据的方法吧 :D
(七) Grid竟然还支持和剪贴板(Clipboard)交换数据,通过enableBlockSelection、copyBlockToClipboard、gridToClipboard、rowToClipboard、cellToClipboard、gridFromClipboard、updateRowFromClipboard、addRowFromClipboard、updateCellFromClipboard等方法可以与Excel直接交换数据。
加载数据的实现的方式:
js 构建 
A 先创建表各种属性:表头 皮肤 图片路径等
B 增加表格的body 可以采用的方式如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
dhtmlxGrid supports different types of data sources:
- xml;
- csv;
- json;
- javascript array.
基于服务器端:
grid.load(url) -loads data from a remote file, xml is expected by default;
grid.load(url,"csv") - the same for csv format;
grid.load(url,"json") - the same for json format;
grid.load(url,"jsarray") - the same for jsarray format.
基于本地:
grid.parse(object) -loads data from a string|object, xml is expected by default;
grid.parse(data,"csv") - the same for csv format;
grid.parse(data,"json") - the same for json format;
grid.parse(data,"jsarray") - the same for jsarray format.

优点:一个拥有各种属性方法支持的对象 我们可以在文档说明的范围内控制它
缺点:加载的数据格式需要符合他们的规则 需要对数据封装 也不直观 格式受限
直接渲染html元素
注意:实现直接渲染html 元素 必须从各组件中的扩展包中引入ext/dhtmlxXXX_start.js

1
2
3
4
5
6
7
Step1: 创建html元素
<table  style="width:900px"  id=" tableId "></table>
Step2: 绑定html元素
var gridTemp = new dhtmlXGridFromTable("tableId");
注意:引入扩展包中的ext/dhtmlxgrid_start.js
Step3: 在文档加载时调用
<BODY onLoad="doInnit();">

缺点:dhtmlXxxxxFromxxxx的方法获取html元素的句柄 进行操作时文档的说明不详细 使用受限(我自己的感觉)
优点:数据更新时简单直观
问题列表
加载数据的方式
复杂的表头信息的处理
对excel的交互 (报表生成时很方便 该功能在火狐下自动屏蔽)
原始的弹出窗口加刷新的老套添加数据的替代产品 基于单元格的编辑实现

下拉框

(一) Combo也同时支持HTML渲染和javascript创建。
(二) 最神奇的使用方式当然是enableFilteringMode(true)方法,可以轻松地使输入框编程google、百度等大多数软件实现的关键词提示的特性。

对话框窗口

(一) 窗口的构造首先要在javascript中构造dhtmlXWindows,并通过他createWindow,获得窗口句柄。
(二) 其次要通过enableAutoViewport(false)和setViewport(top,left,width,height, parentObj)定义其全局变量viewPort;
(三) 然后通过attachXxx为窗口指定内容;
(四) 如果是对话框,想限制背景窗口获得焦点,应通过setModal(true)指定是模态窗口。
(五) 与父容器对话,仍然使用_frame属性获得句柄。

 

 

http://www.cnblogs.com/lidabo/archive/2011/11/02/2233468.html

分享到:
评论

相关推荐

    《DHTMLX中文使用手册》PDF

    根据提供的文件信息,我们可以从《DHTMLX中文使用手册》这一资源中提炼出与DHTMLX相关的多个知识点。下面将详细介绍这些知识点。 ### DHTMLX简介 DHTMLX 是一个全面且功能强大的JavaScript库,旨在帮助开发者快速...

    DHTMLX 使用手册

    本手册将详细介绍 DHTMLX 的使用方法、特点和示例代码。 前言 DHTMLX 使用手册旨在帮助开发者快速掌握 DHTMLX 的使用方法,了解 DHTMLX 的功能和特点,并能正确地应用于实际项目中。本手册面向所有使用 DHTMLX 的...

    DHTMLX中文API开发手册

    DHTMLX中文API开发手册详细介绍了DHTMLX组件库中的各个组件,包括日历、组合框、编辑器、布局管理器、菜单等的使用方法和特性。每个组件都有详细的初始化指导、事件处理方式、功能设定等,为Web应用开发人员提供了...

    dhtmlx中文使用手册

    **dhtmlx中文使用手册详解** dhtmlx是一款强大的JavaScript组件库,用于构建富客户端Web应用程序。这个中文使用手册详细地介绍了如何利用dhtmlx的各种功能来开发交互式的Web界面。由于手册是繁体中文版,对中国...

    dhtmlxGrid介绍及使用手册(中文版)

    ### dhtmlxGrid介绍及使用手册知识点解析 dhtmlxGrid是一个强大的JavaScript网格组件,用于创建动态交互的数据表。它支持丰富的功能,例如自定义XML数据源,多行表头和表尾显示,列操作,以及处理大型数据集的能力...

    dhtmlx中文手册+dhtmlx.js+dhtmlx.css

    这个压缩包包含了dhtmlx的核心组件:`dhtmlx.css`,`dhtmlx.js`,以及一份中文操作手册——`dhtmlx中文使用手册API指南.doc`。这些资源对于理解和使用dhtmlx库至关重要。 1. **dhtmlx.css**: 这是dhtmlx库的样式表...

    DHTMLX使用手册

    DHTMLX使用手册DHTMLX使用手册DHTMLX使用手册DHTMLX使用手册DHTMLX使用手册

    dhtmlxGrid v2.0使用手册

    **dhtmlxGrid v2.0使用手册** dhtmlxGrid是一款强大的JavaScript表格控件,广泛应用于Web应用程序中,用于展示、编辑和管理大量数据。它提供了丰富的功能,包括但不限于行和列的动态添加与删除、排序、过滤、分页...

    dhtmlx使用手册

    dhtmlx 使用手冊 dhtmlx 是一款强大而高效的 JavaScript 库,用于构建 Ajax 的 Web 界面。它提供了多种组件,包括 dhtmlxLayout、dhtmlxGrid、dhtmlxTree、dhtmlxWindows、dhtmlxMenu 等,每个组件都具有其特点和...

    DHTMLX中文使用手册2.0版本.doc

    DHTMLX是一个强大的JavaScript库,专门用于创建交互式的Web应用程序,包括数据呈现和用户界面组件。其中,DHTMLX Tree是一个用于构建可扩展、可操作的树形结构的组件。这个组件支持多种浏览器和平台,如IE 5.5及以上...

    dhtmlxGantt 介绍以及使用说明

    ### dhtmlxGantt 介绍及使用说明 #### 一、概述 dhtmlxGantt 是一款基于 JavaScript 的强大甘特图组件库,它属于 dhtmlxSuite 中的一部分。该组件库提供了创建交互式甘特图所需的所有工具,非常适合于项目管理和...

    DHTMLX中文使用手册2.0版本

    DHTMLX中文使用手册2.0版本是一份详细介绍如何利用DHTMLX库创建高效Ajax Web界面的指南。DHTMLX是一个强大的JavaScript库,专门用于构建动态、交互式的Web应用程序。在2.0版本中,dhtmlxLayout组件是其核心部分,它...

    dhtmlxGantt.doc

    dhtmlxGantt 甘特图组件使用指南 dhtmlxGantt 是一个 JavaScript 组件,能够创建动态的甘特图和以便利的图形化方式查看项目计划。它能够展示各个活动之间的依赖关系,显示当前计划的状态,以完成百分比阴影的方式...

Global site tag (gtag.js) - Google Analytics