
Dojo
我是一道光_
[态度]认真求知、交友互助。
展开
-
使用dojo下Menu和PopupMenuItem实现动态菜单
昨天早上来公司上班,上头抛给我一个加急任务,一个动态菜单的配置与实现。我想了想,类似功能很常见,并且在现已有的系统中已经有了一种模式的展现。 最开始,从已有系统中找到了一个右键菜单的功能实现,主要使用了dijit.Menu和dijit.MenuItem通过嵌套组合的方式来实现层级的菜单功能。但是后来通过观察发现,这一对标签的使用,需要结合页面是的dom标签。所以找了一下,发原创 2012-02-19 20:57:49 · 4603 阅读 · 7 评论 -
Dojo学习笔记一: 认识Dojo
打算利用一些时间系统并且略深层次的学习一下Dojo这个框架,一个基于JavaScript脚本语言的集合。 Dojo不但提供各式各样的Javascript标准库方法,还包含了功能丰富的部件(极大减少开发量,基本不用再编写JavaScript代码)、构建工具(build脚本)、测试框架等,从全局的角度来看,Dojo框架 有如下几部分组成:Dojo框架图Base 作为Dojo的内核,原创 2013-02-28 21:36:51 · 3301 阅读 · 2 评论 -
应客户需要,如何在Tree节点上增加变色状态位
对于Dojo中tree的例子,我也介绍过一些了,有创建复杂tree的,有增加右键菜单项的,有处理节点拖拽的,有响应节点单(双)击的,等等。 客户说,他们要树上面尽可能多的展现多维信息,于是我弄了个TreeGrid给他们show过之后,满意了。但是层级结构有不那么明显,反而长成了DataGrid的样子。经过几次修改,还是采用Tree来构造这么一个多维信息树。 如下图,在节点处增加了各自的状态原创 2013-02-28 15:04:22 · 1776 阅读 · 3 评论 -
统计报表中嵌入<a>标签,点击实现弹出清单功能
前两天帮着做了下统计报表的清单功能,功能很简单,统计报表的数据都是后台通过对多表联查等产生的,页面上就是一个Table,长的还蛮像回事的。 由于报表这块的前期设计并不全面,没有考虑到后期清单的功能,所以我在做清单的时候,写了一些恶心人的代码。最后还是比较巧妙的解决了不同统计表单如何给不同业务要求的统计字段增加功能。 后台返回的整个Table结构是由column部分(报表抬头/列原创 2013-03-11 22:57:24 · 2786 阅读 · 6 评论 -
项目中使用Tree/LazyTreeGrid
Tree/LazyTreeGridTree:dijit.Tree,renderer后如下图所示,就是我们平时所常见的树形结构,在项目中使用编程式创建tree。也可以通过DojoAPI来看下飞速创建tree的demo:require(["dojo/ready", "dijit/Tree", "dojo/data/ItemFileReadStore", "dijit/tree/ForestStoreM原创 2012-12-30 13:42:42 · 2134 阅读 · 4 评论 -
LazyTreeGrid的创建、菜单绑定和对菜单的限制
LazyTreeGrid的创建、菜单绑定和对菜单的限制项目中需要用TreeGrid来显示比Tree更多的内容,因为TreeGrid相比Tree来说,不止是名字中多了一个Grid 那么简单,其实也差不多....TreeGrid和GridTreeGrid可以算的上是Grid(多列字段显示)和Tree(强层级结构化)的组合,Grid是比较常用的组件,我们应用的时候,只需要提供layout(表格表头样式,原创 2012-12-30 14:12:49 · 2230 阅读 · 3 评论 -
代码分享 , Dojo中menu的简单使用
和大家分享一段代码,dojo中tree和menu结合使用,也就是在每个tree节点上右键出现菜单,并对不同业务显示不同菜单,下属代码为项目代码,暂且作为示例代码,下面会对方法做简要分析。 主要方法有两个:其一,buildMenu方法是依附于domNode创建可用的菜单项(dijit.Menu);其二, resetMenuByLevel 方法是根据不同业务,辅以必要的逻辑判断来展示不同的菜单原创 2012-11-30 21:36:52 · 3719 阅读 · 2 评论 -
dijit.tree的简单应用实例
近来项目中总部功能有几个关键页面需要用树形结构来展示相关数据,便对dojo中的tree进行了一些应用。Dojo官网上对于dojo.tree(1.7)的介绍止步于基本方法和属性结构的介绍,在http://dojotoolkit.org/reference-guide/1.8/dijit/Tree.html#dijit-tree 中可以找到比较通俗易懂的Demo。如下图: 代码如下:原创 2012-10-30 22:18:03 · 3927 阅读 · 1 评论 -
介绍现在项目中使用到的dojo tree
在我们项目中也如上篇文章介绍的那样,使用dojo中的dijit.tree,如下代码所示,大家可以看出,动态语言给我们很充足的可编程性。 主要提供:打开节点、拖拽排序等常用功能。 //创建数据源,确定基本根节点以及其children节点 var treeItems = [ { id : "root", displayNameCh : _rootLabel原创 2012-10-30 22:33:40 · 3624 阅读 · 1 评论 -
给Dojo中DateTextBox设置默认日期
前几天用到dijit.form.DateTextBox (version 1.6) ,用来做一个常见的日期控件,很简单的应用,但是网络上关于Dojo的资料并不多,有Dojo toolkit 当做API文档来检索,可是光秃秃的文字说明,不如真切的实例来的痛快。 下面和大家分享一下。 1.默认初始化当前日期: var date = new Date(); var day = da原创 2011-11-29 21:33:42 · 7199 阅读 · 3 评论 -
项目中用转dojox.grid.DataGrid的几点必知
项目中使用dojox.grid.DataGrid组件来渲染页面数据,尤其是db记录的查询或是数据源的组成一致的时候。下面把grid的几个基本应用说一下。 做过多年开发,这些数据显示的组件逻辑大都是一样的。通过指定数据源中的field来加载数据源中特定数据列,这样server端的数据就能简单的显示出来了。 1.html页面引入grid。 2.在grid加载完之后原创 2012-04-12 23:11:05 · 4912 阅读 · 15 评论 -
Dojo定义的生命周期
Dojo所开发的控件具有很强的内聚性和面向对象性。dojo的dijit._widget是dojo提供的图形界面组件库。 首先从dijit组件的核心类dijit._Widget开始。dijit._Widget是所以dijit组件的父类,dijit默认提供的组件和自己开发的组件都要继承此类。dijit._Widget提供了对组件生命周期的管理。dijit组件生命周期管理在实现的时候使原创 2012-03-23 08:10:27 · 5934 阅读 · 6 评论 -
Dojo.Layout下的三个布局组件,浓缩精华
Dojo作为JavaScript的一个框架,其中有封装和很多逻辑的部件。最近在项目中主要开发前台,对页面的布局及css并不太熟悉的我,却有困扰。近来翻看那本《Dojo权威指南》,好好看了一下dojit.layout下的一组布局部件:ContentPane/ BorderContainer /StackContainer 。单从字面意思看,也能对这三个部件应该有些了解。 Con原创 2012-03-11 22:53:22 · 4674 阅读 · 5 评论 -
动态操作Dojo下的DataGrid
从同事那里接手一个模块,其中需要给DataGrid动态增加数据,这里有两种方法可以实现功能,第一种最简单,也就是使用ItemFileWriteStore,它和ItemFileReadStore最大的一个不同之处,就在于前者store数据源是可编辑的,而后者则是只读。如此来说,我们若要在页面上动态修改数据而不与后台通信,则用此正合适。 如下: var _data = {原创 2012-02-28 22:47:50 · 2907 阅读 · 3 评论 -
Dojo学习笔记二:介绍几种搭建Dojo环境的方法
Hello World! 的时间到了,在你所学过的众多语言中,哪个不是从此学起的呢?但在此之前,我们要先构建一个开发环境,如同刚开始学习Java的时候,还是需要我们先安装JDK、配置好环境变量等等,HelloWorld才会乖乖的显示在命令行上。 对于脚本类语言,开发环境就是文本编辑器+语言包(dojo.js),对于学习JavaScript来说更简单,只需要有主流浏览器作为支持就够了,浏览器就原创 2013-02-28 22:20:26 · 4244 阅读 · 2 评论