动态treetable
关键字:tree,table,还有jquery
用的还是jquery插件,以上一系列插件的使用都比较简单——当然前提是这些插件都没有bug,并且人品好。很可惜, 我就遇到了不少问题,不过都解决了。
这次是要显示一个树,
需求如下:
PDF 报表:名称改为“公告维护”,要求首先对公告的分类进行选择。采用左右两栏式,左边列出已经维护的该上市公司所有公告。一级菜单:公告年度,二级菜单:公告类别。右边为维护页面。公告的分类为:公告年度,公告类别(定期公告、临时公告),确定后刷新左边的目录。维护公告名称。选择 PDF 文档并上传,上传成功后刷新左边目录。
我的实现
这棵树由ajax从服务器那头动态生成,每当flash上传一个文件,这里会重载一下。 这棵树的本质是一个table,所有比一般的树多个优点就是树节点可以包含很多元素,呈现较复杂的信息。
源代码也简单:
1 js事件:
function loadPdfList(){
$.get(
"/sdps/reportTable.do?gpdm="+$(':input[name=query.gpdm]').val(),
{},
function init(data){
var table = $("#uploadedPdf");
table.empty().append($(data)).treeTable({
clickableNodeNames:true,
initialState:'expanded'
});
$("#uploadedPdf tr:first").each(function(){ $(this).addClass("firstRow"); });
},
"text"
);
}
2 html页面
<div style='float:left;background: #FFFFDF;'>
<table id="uploadedPdf" class="pdftable">
正在载入公告树...
</table>
</div>
3 后台action:
public class SsgsPdfTableAction extends SsgsBaseAction {
protected ActionForward doExecute(ActionMapping mapping, ActionForm
form, HttpServletRequest request, HttpServletResponse response) throws
Exception {
List all = getNsrxxService().queryPdf(request.getParameter("gpdm"));
Set years = new TreeSet();
Set dqs = new TreeSet();
List newList = new ArrayList();
for (Iterator iterator = all.iterator(); iterator.hasNext();) {
Ssgs_pdfModel pdf = (Ssgs_pdfModel) iterator.next();
if( !years.contains(pdf.getYear())){
ReportPdfInfo p = new ReportPdfInfo();
p.setReport_name(pdf.getYear()+"年度");
p.setYear("-");
p.setDq("-");
p.setF_size("-");
p.setM_time("-");
p.setDqValue("-");
p.setFile_name("-");
p.setIdValue("year"+pdf.getYear());
p.setClassValue("child-of-root");
newList.add(p);
years.add(pdf.getYear());
}
if( !dqs.contains(pdf.getYear()+pdf.getDq())){
ReportPdfInfo p = new ReportPdfInfo();
p.setReport_name("dq".equals(pdf.getDq())?"定期公告":"临时公告");
p.setYear("-");
p.setDq("-");
p.setDqValue("-");
p.setF_size("-");
p.setM_time("-");
p.setFile_name("-");
p.setIdValue("year"+pdf.getYear()+pdf.getDq());
p.setClassValue("child-of-"+"year"+pdf.getYear());
newList.add(p);
dqs.add(pdf.getYear()+pdf.getDq());
}
ReportPdfInfo p = new ReportPdfInfo(pdf);
p.setIdValue("pdfid"+pdf.getId());
p.setClassValue("child-of-"+"year"+pdf.getYear()+pdf.getDq());
p.setF_size(""+Integer.parseInt(p.getF_size())/1024+"KB");
newList.add(p);
}
request.setAttribute("list", newList);
return mapping.findForward("success");
}
}
4 对应的jsp页面:
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%
response.setHeader("
ragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
%>
<tr id="root">
<td>所有报告</td>
<td style="text-align: center">所属年度</td>
<td style="text-align: center">公告性质</td>
<td style="text-align: center">原文件名称</td>
<td style="text-align: center">文件大小</td>
<td style="text-align: center;border-right-width: 0">上传时间</td>
</tr>
<logic:iterate id="i" name="list">
<tr id="<bean:write name="i"
property="idValue"/>" class="<bean:write name="i"
property="classValue"/>">
<td>
<logic:notEqual value="0" name="i" property="id">
<a href="<%=request.getContextPath()
%>/getpdf.do?id=<bean:write name="i" property="id"/>"
target="_blank">
<bean:write name="i" property="report_name"/>
</a>
</logic:notEqual>
<logic:equal value="0" name="i" property="id">
<bean:write name="i" property="report_name"/>
</logic:equal>
</td>
<td style="text-align: center"><bean:write name="i" property="year"/></td>
<td style="text-align: center"><bean:write name="i" property="dqValue"/></td>
<td style="text-align: center"><bean:write name="i" property="file_name"/></td>
<td style="text-align: center"><bean:write name="i" property="f_size"/></td>
<td style="text-align: center;border-right-width:
0"><bean:write name="i" property="m_time"/></td>
</tr>
</logic:iterate>
效果图
【2009-8】
- 大小: 477.2 KB
分享到:
相关推荐
jQuery TreeTable是一款基于JavaScript的插件,它将表格和树状结构相结合,提供了强大的功能,使得用户可以方便地在网页上展示层次化的数据。 一、jQuery TreeTable介绍 jQuery TreeTable是由Mario Heiderich开发...
2. **数据绑定**:插件支持动态数据绑定,可以方便地与服务器端数据进行交互。你可以通过JSON数据或者其他数据格式,实时更新树形表格的内容。 3. **交互性**:ludo-jquery-treetable提供了丰富的交互功能,如展开/...
这个"jquery-TreeTable树型结构 源码及示例"压缩包包含了实现这一功能的核心源码和示例,帮助开发者更好地理解和应用这个插件。 首先,jQuery TreeTable的基本概念是利用HTML表格的特性,通过添加特定的CSS类和使用...
《jQuery异步treeTable树形插件详解及应用实践》 在Web开发中,数据的展示方式多种多样,其中树形结构是一种常见的数据组织形式,它能够清晰地呈现出层次关系,便于用户理解和操作。jQuery异步treeTable插件是用于...
《jQuery TreeTable:构建动态树形表格的利器》 在Web开发中,数据展示的方式多种多样,其中树形表格作为一种高效的数据组织形式,被广泛应用于各类管理界面和数据展示场景。今天我们将深入探讨jQuery TreeTable...
本资源“基于Jquery的TreeTable”显然是一个利用jQuery实现的树形表格插件,旨在提供更直观、易用的数据显示方式。 jQuery TreeTable的核心功能包括: 1. **折叠与展开**:用户可以折叠或展开节点,以查看或隐藏子...
总结,jQuery Treetable插件是处理层次数据的利器,它使得在Web应用中展现和操作树形结构变得简单易行。通过下载提供的demo,你可以快速掌握其基本使用方法,并根据实际项目需求进行扩展和优化。
jQuery TreeTable是一款强大的jQuery插件,它允许在HTML表格中展示层次化的数据,形如树状结构。这个插件的设计目标是将普通的二维表格转换为交互式的、具有折叠和展开功能的树形视图,从而使得复杂的数据组织更加...
本篇文章将详细介绍jQuery TreeTable插件的使用方法、主要功能以及如何在项目中应用。 ### 1. 插件简介 jQuery TreeTable插件是一款轻量级的JavaScript库,基于流行的jQuery框架,可以轻松将HTML表格转换为交互式...
《jQuery Treetable:构建灵活的树形表格菜单插件》 在Web开发中,数据的展示形式多种多样,其中树形结构与表格结合的展现方式尤其受到青睐,因为它能够清晰地展示层次关系且便于操作。jQuery Treetable是一款优秀...
上述代码将在页面加载完成后对ID为`myTable`的表格应用jQuery Treetable插件,并启用展开功能。现在,只需运行这个HTML文件,你就可以看到一个简单的树形表格,点击表头可以展开或折叠节点。 值得注意的是,jQuery ...
7. **扩展功能**:除了基本的展开折叠,还可以利用事件监听实现节点的点击行为,或者结合其他jQuery插件(如Bootstrap的模态框)实现更复杂的功能。 通过以上步骤,我们可以轻松地在项目中实现一个美观且实用的树形...
本教程将详细讲解如何利用jQuery TreeTable插件结合AJAX和MySQL数据库,以及Spring、SpringMVC(SSM)架构来创建一个动态的树形表格。 **一、jQuery TreeTable介绍** jQuery TreeTable是一款轻量级的JavaScript...
本文将深入探讨一款名为“treeTable”的原创jQuery插件,旨在帮助开发者更好地理解和应用这个工具。 首先,让我们了解一下什么是TreeTable。TreeTable是结合了表格和树状结构的一种数据展示形式,它既能展示表格的...
在实际应用中,开发TreeTable可以使用各种编程语言和框架,如JavaScript中的jQuery TreeTable插件,Java中的Swing或JavaFX TreeTableView,.NET Framework中的WPF TreeView结合DataGrid,或者在Web开发中使用React、...
8. **与其他插件的集成**:由于基于jQuery,TreeTable可以很好地与其他jQuery插件(如Bootstrap、jQuery UI等)协同工作,扩展出更丰富的功能,如搜索、排序、分页等。 9. **性能优化**:对于大型数据集,可以使用...
**jQuery TreeTable 知识详解** `jQuery TreeTable` 是一个强大的JavaScript库,它扩展了HTML表格的功能,使其能够展示层次结构...在实际项目中,结合其他jQuery插件和前端框架,可以进一步提升用户体验和功能丰富度。
5. **兼容性**:作为jQuery插件,TreeTable通常具有良好的浏览器兼容性,支持主流的现代浏览器,同时也考虑到了对旧版本浏览器的支持。 6. **API接口**:TreeTable提供了一系列API接口,如`expandAll()`, `collapse...
jQuery TreeTable基于jQuery,因此它可以无缝地与已有的jQuery插件和功能集成,简化前端开发工作。 ### 核心概念 1. **jQuery**: jQuery是一个快速、简洁的JavaScript库,它使得JavaScript编程变得更加简单。它...