最近在公司的一个项目中用到了tableTree4j这个树形列表的框架,于是在完成功能的前提下,我也研究了一下这个框架,下面我将写一个案例来介绍这个框架
首先我们需要写一个js,如下
var action="add";
var pubmenuid;
var pubrownum;
var gridTree;
//实时统计树形菜单
// 页面加载
function initdata(){
var deviceType=document.getElementById("deviceType").value;
var mapid = document.getElementById("mapid").value;
var system= document.getElementById("system").value;
var deviceTypezt= document.getElementById("state").value;
var tongji=setXAxis()
$.post("historyCount!getAll.action",
{'deviceType':deviceType,'emap.mapid':mapid,'tongji':tongji,'system':system,'deviceTypezt':deviceTypezt},
function(data){//ajax获取到数据源
//在指定的div中加载指定模版的报表
createtable(data.list);
},'json');
}
//判断那个被选为X轴
function setXAxis(){
var xx=document.getElementsByName("xAxisName");
for(var i=0;i<xx.length;i++){
if(xx[i].checked){
return xx[i].value;
}
}
}
// 创建模块显示部分
function createtable(data){//此处的data为list
gridTree=new TableTree4J("gridTree","../module/");
gridTree.tableDesc="<table border=\"1\" class=\"GridView\" width=\"98%\" id=\"table1\""
+"cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse: collapse\" "
+" align=\"center\" bordercolordark=\"#C0C0C0\" bordercolorlight=\"#C0C0C0\" >";
var headerDataList=new Array("部门名称","正常数量","故障数量","总数"); //设置列明
var widthList=new Array("25%","10%","10%","15%");//每列的大小
gridTree.setHeader(headerDataList,-1,widthList,true,"headerbg");//设置表头样式
gridTree.gridHeaderColStyleArray =
new Array("","centerClo","centerClo","centerClo");//设置每列样式
gridTree.gridDataCloStyleArray =
new Array("","centerClo","centerClo","centerClo");
if(data!=null)
{
for(var i=0;i<data.length;i++){
// alert(data[i].mapName)
//此处放置每行要显示的数据
var dataList=new Array(data[i].mapName,
"<a href='javascript:void(0)' style='color:green' onclick='detail("+data[i].deviceid+","+data[i].mapId+")'>"+data[i].normal+"</a>",//在列属相上添加链接
"<a href='javascript:void(0)' style='color:red' onclick='detail2("+data[i].deviceid+","+data[i].mapId+")'>"+data[i].fault+"</a>",
data[i].sum);
// " <a href='javascript:void(0)'>"
// +"<img style='border:0px' src='../../images/bj.gif'"
// +" width='16' height='16'/></a> "+
// " <a href='javascript:void(0)' onclick='delmenu()'><img style='border:0px' "
// +"src='../../images/shanchu.gif' width='16' height='16' /></a> ");
var mid = data[i].mapId;
var parentid = data[i].parentId;
var mapid = document.getElementById("mapid").value;
//当数据中的自身的部门id等于搜索条件的部门id时,将此条数据的parentid设置为-1,否则报错
if(mid==mapid){
parentid=-1;
}
gridTree.addGirdNode(dataList,mid,parentid,null,i,null,null,"","",null,"plus","onlines_minus");
}
}
gridTree.printTableTreeToElement("system,div");//树渲染的位置
}
js通过ajax向一个action发送请求,然后数据以json字符串的形式返回给前台页面,然后在回调函数中执行createtable(data)方法此处传入的为list集合,之后遍历这个list将每个值取出然后将对应的属性放入到dataList集合中,此处传入的值必须有mid和parentid这两个属性的值,此处注意,当mid等于mapid的时候我们需要将此条数据的parentid设置为-1,否则js报错。printTableTreeToElement()方法就是树形表格需要渲染到的位置的id。
在jsp中大家可以执行一个onclick事件来执行这个方法。
注意的是,list的实体类必须包含id和parentid这个两个属性才可以。
分享到:
相关推荐
同时,库内包含的“demo”提供了一个实际操作的例子,帮助开发者快速理解如何使用tabletree4J。此外,"帮助文档api"则为开发者提供了详细的功能说明和使用指南,确保在开发过程中能够顺利地调用各种功能。 【标签】...
TableTree4J 是一个开源的基于javascript的树状菜单和表格控件 使用TableTree4J可以轻易实现带树状折叠效果的表格和树状折叠菜单 目前TableTree4J版本为1.1Re版,支持一下功能 1.多种模式切换,样式更改...
2010-6-13日正式发布,时隔两年,众多网友要求我升级 tabletree4j,终于有少少空余时间完成了beta版本发布 对比之前的版本本次更新包括以下内容: 1.完整的包命名空间 2.自定义header footer 3.动态添加节点/...
7. **API接口**:了解 TABLETREE4J 提供的 API 接口是使用和定制此库的关键,包括添加、删除、更新节点,以及控制树的状态等。 8. **多语言支持**:对于全球化项目,多语言支持是必不可少的,新版本可能增加了更多...
三、TableTree应用实例 1. 文件管理系统:在文件管理界面,文件夹和文件可以以TableTree形式展示,用户可以直观地看到文件的层级关系,并轻松查找和操作。 2. 组织结构图:企业内部的部门和员工关系,可以借助...
在这个场景下,我们主要探讨TableTree的核心功能、实现原理以及它在实际应用中的价值。 1. **核心功能** - **数据展示**:TableTree能够以表格形式展示数据,并通过树形结构展现数据之间的层级关系,适合于管理...
本文将深入解析jQuery TableTree的核心概念、功能特性以及使用方法,帮助开发者更好地理解和应用这一工具。 一、jQuery TableTree概述 jQuery TableTree是一款基于jQuery库的插件,专门用于将普通的HTML表格转换...
里面提供的是tableTree源代码,各方法都含有详细的注释,无需教程即可快速上手使用,实际使用时可自行压缩代码; 里面随便丢了个layui-2.6.8,实例使用时可自从官网重新下载layui,并按你的项目实际环境修改demo...
在"E3_Table_Tree_war_实例_树表控件"这个实例中,我们可以推测这是一个包含E3table Etree树表控件的Web应用项目。E3table Etree可能是该控件的特定实现或定制版,提供了一种高效且用户友好的方式来显示和操作具有...
4. **Tabletree功能**: - 展开/折叠:用户可以通过点击节点图标来展开或折叠子节点,显示或隐藏相关信息。 - 选择节点:选中特定节点,可能用于进行进一步的操作。 - 搜索:在树形结构中搜索特定文本,高亮显示...
bootstraptable-treeview.js 表格文件 来自github 大佬写的
总的来说,"tableTree + Gantt (js甘特图)"是前端开发中的一种高级应用,涉及到数据可视化、用户交互和项目管理等多个方面的知识。掌握这些技术对于提高Web应用的用户体验和功能性具有重要意义。如果你对这个主题感...
"mtree1.0-checkbox-tableTree-带复选框树形控件"是一个专门设计用于Web应用的组件,它集成了复选框功能的树形表格控件。这个控件允许用户在树形结构中选择一个或多个节点,通过复选框进行操作,增加了交互性和数据...
通过阅读博客文章,你可以了解到如何导入并使用`table4j`库,以及它如何帮助你提升GUI应用的用户体验。学习这个工具的源码,还可以帮助你理解Swing组件的内部工作原理,提升你的Java GUI编程能力。 在实际开发中,...
代码片段展示了创建TableTree并使用TreeColumnLayout的一个例子。TreeColumnLayout是JFace提供的布局策略,用于管理TableTree中列的宽度。在这个例子中,使用了ColumnPixelData和ColumnWeightData来定义列宽。 ```...
当学习这些代码实例时,读者应着重理解SNMP协议的基本概念、SNMP4J库的使用方法以及如何在Java程序中调用这些方法来执行具体的网络管理任务。这些知识能够帮助读者构建自己的SNMP监控工具或者集成SNMP功能到现有的...
在描述中提到的"Table2JSONTree_C#根据TABLE产生JSON树_jsontree2table_"是一个关于将数据库中的表格数据转换为JavaScript Object Notation (JSON)树形结构的过程。这种转换在前端开发中非常常见,特别是在需要在...
4. **处理事件**:tableTree允许你自定义点击行时的行为,比如通过监听`click`事件来控制节点的展开和折叠。 在`tableTree-master`这个压缩包中,通常会包含以下文件和文件夹: - `jquery.tabletree.js`:table...
《docx4j 动态生成表格(一)》这篇博文主要探讨了如何使用docx4j库在Java环境中动态创建Word文档中的表格。docx4j是一个强大的开源Java库,它允许开发者对OpenXML格式(如.docx、.xlsx等)进行深度操作,包括创建、...