如果什么都不设置,默认使用dojo自带的Tree,样式模板使用claro的,效果是这样的。

1、无论是不是叶子节点,前面总要带个+号,必须要点击下才消失。

2、点击树或者某个节点是,回出现蓝色边框。

3、默认的文件夹图标也不好看。

根据项目需要,经过摸索,最后修改成了这样子,已经面目全非。

至少看着不那么像官方的树样式了。

主要修改了一下内容。

一、对Css代码的修改。

/* Tree的样式----------------------------------------------------------------------*/
.claro .dijitTreeRow, .claro .dijitTreeNode .dojoDndItemBefore, .claro .dijitTreeNode .dojoDndItemAfter {
color: #ffffff;
padding: 4px;
font-size: 14px;
} .claro .dijitTreeRowHover {
background-color: #626262;
background-image: none;
border-width: 0px;
padding: 4px;
} .claro .dijitTreeRowSelected {
background-color: #626262;
background-image: none;
border-width: 0px;
padding: 4px;
} .dijitTreeLabel {
outline: none;
} .dijitTree {
outline: none;
} .claro .dijitTreeExpando {
background-image: url(Res/Images/ArrowDown16.png);
background-position: 0 0;
} .claro .dijitTreeRowHover .dijitTreeExpandoOpened {
background-image: url(Res/Images/ArrowDown16.png);
width: 16px;
height: 16px;
background-position: 0 0;
} .claro .dijitTreeRowHover .dijitTreeExpandoClosed {
background-position: 0 0;
} .claro .dijitTreeExpandoClosed {
background-image: url(Res/Images/ArrowRight16.png);
width: 16px;
height: 16px;
background-position: 0 0;
} .claro .dijitTreeExpandoLeaf, .dj_ie6 .claro .dijitTreeExpandoLeaf {
width: 0px;
height: 0px;
}
/* Tree的样式----------------------------------------------------------------------*/

这些样式通过Google浏览器进行调试时都可以看到,自己摸索着修改成自己满意的样式即可。

二、Js代码模块的修改。

                var myStore = new Memory({
data: pBDataSet,
getChildren: function (object) {
return this.query({ parent: object.id });
}
}); // Create the model
var myModel = new ObjectStoreModel({
store: myStore,
query: { id: "Root" },
mayHaveChildren: function (pItem) {
if (pItem.type == "DataGroup") {
return true;
}
else {
return false;
}
}
});
// Create the Tree.
var myTree = new Tree({
model: myModel,
showRoot: false,
openOnClick: true,
getIconStyle: function (pItem, opened) {
if (pItem.type == "DataGroup") {
return { width: "0px" };
}
else {
return {
width: "9px",
height: "9px",
"background-image": "url(Res/Images/Right9.png)",
"background-position": "0px"
};
}
},
});
myTree.placeAt(this.UI_TreeContainer_Div);
myTree.startup()

修改节点前面的图标主要是扩展了Tree的getIcoStyle函数。

叶子节点不显示-号主要修改了ObjectStoreModel的mayHaveChildren函数。

Dojo dijit/Tree的使用以及样式设置的更多相关文章

  1. 使用dojo的tree

    dojo的Tree非常是灵活,可是官方站点上的样例却非常少,并且也比較分散,兴许将持续完好本样例. 总的来说,要使用tree,要接触到三个类:"dojo/store/JsonRest&quo ...

  2. dojo创建tree

    今天介绍dojo目录树的效果,效果如下图: HTML代码如下: <body class="claro"> <div id="rootlessTree&q ...

  3. js学习进阶-元素获取及样式设置

    var imgs = document.querySelectorAll("article img"); 获得article元素的直接或间接子孙的所有img元素, <arti ...

  4. placeholder的样式设置

    在input框中有时想将输入的字和placeholder设为不同的颜色或其它效果,这时就可以用以下代码来对placeholder进行样式设置了. ::-webkit-input-placeholder ...

  5. Asp.Net中应用Aspose.Cells输出报表到Excel 及样式设置

    解决思路: 1.找个可用的Aspose.Cells(有钱还是买个正版吧,谁开发个东西也不容易): 2.在.Net方案中引用此Cells: 3.写个函数ToExcel(传递一个DataTable),可以 ...

  6. 导出Excel之Epplus使用教程2(样式设置)

    导出Excel之Epplus使用教程1(基本介绍) 导出Excel之Epplus使用教程2(样式设置) 导出Excel之Epplus使用教程3(图表设置) 导出Excel之Epplus使用教程4(其他 ...

  7. PowerDesigner的样式设置

    原文:PowerDesigner的样式设置 PD提供了强大的配置功能,可以对生成的数据库对象命名.数据模型的展现进行设置.这里首先讲下样式的设置. 颜色和字体设置 1.单独设置某个对象的颜色和字体 1 ...

  8. POI Excel导出样式设置

    HSSFSheet sheet = workbook.createSheet("sheetName");    //创建sheet sheet.setVerticallyCente ...

  9. QListWidget与QTableWidget的使用以及样式设置

    QListWidget和QTableWidget的使用和属性,QTableWidget和QListWidget样式表的设置,滚动条的样式设置 一.QListWidget的使用 //一.QListWid ...

  10. HTML+CSS样式设置——CSS一学就会

    HTML+CSS样式设置 CSS:(Cascading Style Sheets)层叠样式设置表. 网页的展示效果跟其排版有非常大的关系.排版则主要依靠CSS来设置.调节. 以下说CSS与HTML的联 ...

随机推荐

  1. 在安装Windows时手动创建分区

    目前硬件都已经支持UEFI模式启动了,而且硬盘容量普遍大于MBR磁盘能支持的最大2TB的容量.所以在安装Windows系统的时候优先选用UEFI启用,并将磁盘配置为GPT模式以支持更大的容量.而且Wi ...

  2. dotnet7 aot编译实战

    0 起因 这段日子看到dotnet7-rc1发布,我对NativeAot功能比较感兴趣,如果aot成功,这意味了我们的dotnet程序在防破解的上直接指数级提高.我随手使用asp.netcore-7. ...

  3. 11. 第十篇 网络组件flanneld安装及使用

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247483834&idx=1&sn=b04ec193 ...

  4. nginx日志输出配置json格式

    修改nginx配置文件 http { include mime.types; default_type application/octet-stream; charset utf-8; # 原有日志格 ...

  5. C++自学笔记 初始化列表 Initializer list

    初始化p A(){ p = 0;cout<<"A::A()"<<endl;} 初始化列表 Initializer list A():p(0){ cout&l ...

  6. C/C++ 宏定义

    宏定义(无参宏定义和带参宏定义) 宏定义是比较常用的预处理指令,即使用"标识符"来表示"替换列表"中的内容.标识符称为宏名,在预处理过程中,预处理器会把源程序中 ...

  7. HBase1.4.6安装搭建及shell命令使用

    HBase1.4.6安装搭建 目录 HBase1.4.6安装搭建 一.前期准备(Hadoop,zookeeper,jdk) 搭建Hbase 1.上传解压 2.配置环境变量 3.修改hbase-env. ...

  8. C言语语法总结(随时更新)

    一.gcc1. gcc xxx.c -o xxx #把原代码编译成可执行文件xxx2. gcc -c xxx.c #编译: 把原代码编译xxx.o后辍的目标文件3. gcc xxx.o -o xxx ...

  9. 华为设备配置ssh-client命令

    ssh client first-time enable 开启首次认证功能不对ssh服务器的RSA公钥进行有效性验证 stelnet 10.1.1.2 登陆R2 sys 进入到R2的系统视图 disp ...

  10. Java注解(1):码农的小秘

    很多码农在写代码的时候不太爱写注释,结果任务一多,时间一长,需求一改,就完全不知道当初自己都干了些啥了.好在现在大多数编程语言都有注释功能,能够在代码里面做一些备注,不至于时间长了忘掉.但这些注释只是 ...