`
tedeyang
  • 浏览: 326074 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

动态treetable-jquery插件应用

阅读更多

动态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
分享到:
评论
1 楼 zzzczx 2011-07-29  
treetable默认是关闭的,你这是点开后的图么

相关推荐

    jquery-treetable-master

    jQuery TreeTable是一款基于JavaScript的插件,它将表格和树状结构相结合,提供了强大的功能,使得用户可以方便地在网页上展示层次化的数据。 一、jQuery TreeTable介绍 jQuery TreeTable是由Mario Heiderich开发...

    ludo-jquery-treetable

    2. **数据绑定**:插件支持动态数据绑定,可以方便地与服务器端数据进行交互。你可以通过JSON数据或者其他数据格式,实时更新树形表格的内容。 3. **交互性**:ludo-jquery-treetable提供了丰富的交互功能,如展开/...

    jquery-TreeTable树型结构 源码及示例

    这个"jquery-TreeTable树型结构 源码及示例"压缩包包含了实现这一功能的核心源码和示例,帮助开发者更好地理解和应用这个插件。 首先,jQuery TreeTable的基本概念是利用HTML表格的特性,通过添加特定的CSS类和使用...

    jquery 异步treeTable树形插件

    《jQuery异步treeTable树形插件详解及应用实践》 在Web开发中,数据的展示方式多种多样,其中树形结构是一种常见的数据组织形式,它能够清晰地呈现出层次关系,便于用户理解和操作。jQuery异步treeTable插件是用于...

    jquery-treetable

    《jQuery TreeTable:构建动态树形表格的利器》 在Web开发中,数据展示的方式多种多样,其中树形表格作为一种高效的数据组织形式,被广泛应用于各类管理界面和数据展示场景。今天我们将深入探讨jQuery TreeTable...

    基于Jquery的TreeTable---【下载不扣分,回帖加1分,欢迎下载,童叟无欺】

    本资源“基于Jquery的TreeTable”显然是一个利用jQuery实现的树形表格插件,旨在提供更直观、易用的数据显示方式。 jQuery TreeTable的核心功能包括: 1. **折叠与展开**:用户可以折叠或展开节点,以查看或隐藏子...

    jquery-treetable插件demo 下载

    总结,jQuery Treetable插件是处理层次数据的利器,它使得在Web应用中展现和操作树形结构变得简单易行。通过下载提供的demo,你可以快速掌握其基本使用方法,并根据实际项目需求进行扩展和优化。

    jQuerytreeTable在表格内显示树状结果的jQuery插件

    jQuery TreeTable是一款强大的jQuery插件,它允许在HTML表格中展示层次化的数据,形如树状结构。这个插件的设计目标是将普通的二维表格转换为交互式的、具有折叠和展开功能的树形视图,从而使得复杂的数据组织更加...

    jquery的TreeTable插件

    本篇文章将详细介绍jQuery TreeTable插件的使用方法、主要功能以及如何在项目中应用。 ### 1. 插件简介 jQuery TreeTable插件是一款轻量级的JavaScript库,基于流行的jQuery框架,可以轻松将HTML表格转换为交互式...

    jquery treetable树形表格菜单插件

    《jQuery Treetable:构建灵活的树形表格菜单插件》 在Web开发中,数据的展示形式多种多样,其中树形结构与表格结合的展现方式尤其受到青睐,因为它能够清晰地展示层次关系且便于操作。jQuery Treetable是一款优秀...

    jquery-treetable最简单实例

    上述代码将在页面加载完成后对ID为`myTable`的表格应用jQuery Treetable插件,并启用展开功能。现在,只需运行这个HTML文件,你就可以看到一个简单的树形表格,点击表头可以展开或折叠节点。 值得注意的是,jQuery ...

    jquery-treetable简单实用树表格demo.rar

    7. **扩展功能**:除了基本的展开折叠,还可以利用事件监听实现节点的点击行为,或者结合其他jQuery插件(如Bootstrap的模态框)实现更复杂的功能。 通过以上步骤,我们可以轻松地在项目中实现一个美观且实用的树形...

    jqueryTreeTable+ajax(构建树形表格)

    本教程将详细讲解如何利用jQuery TreeTable插件结合AJAX和MySQL数据库,以及Spring、SpringMVC(SSM)架构来创建一个动态的树形表格。 **一、jQuery TreeTable介绍** jQuery TreeTable是一款轻量级的JavaScript...

    原创jquery插件treeTable

    本文将深入探讨一款名为“treeTable”的原创jQuery插件,旨在帮助开发者更好地理解和应用这个工具。 首先,让我们了解一下什么是TreeTable。TreeTable是结合了表格和树状结构的一种数据展示形式,它既能展示表格的...

    TreeTable,用于展开/折叠table的行

    在实际应用中,开发TreeTable可以使用各种编程语言和框架,如JavaScript中的jQuery TreeTable插件,Java中的Swing或JavaFX TreeTableView,.NET Framework中的WPF TreeView结合DataGrid,或者在Web开发中使用React、...

    treetable jquery tree

    8. **与其他插件的集成**:由于基于jQuery,TreeTable可以很好地与其他jQuery插件(如Bootstrap、jQuery UI等)协同工作,扩展出更丰富的功能,如搜索、排序、分页等。 9. **性能优化**:对于大型数据集,可以使用...

    jquery TreeTable

    **jQuery TreeTable 知识详解** `jQuery TreeTable` 是一个强大的JavaScript库,它扩展了HTML表格的功能,使其能够展示层次结构...在实际项目中,结合其他jQuery插件和前端框架,可以进一步提升用户体验和功能丰富度。

    treetable 数据表格拖拽的jquery插件

    5. **兼容性**:作为jQuery插件,TreeTable通常具有良好的浏览器兼容性,支持主流的现代浏览器,同时也考虑到了对旧版本浏览器的支持。 6. **API接口**:TreeTable提供了一系列API接口,如`expandAll()`, `collapse...

    jquery treetable

    jQuery TreeTable基于jQuery,因此它可以无缝地与已有的jQuery插件和功能集成,简化前端开发工作。 ### 核心概念 1. **jQuery**: jQuery是一个快速、简洁的JavaScript库,它使得JavaScript编程变得更加简单。它...

Global site tag (gtag.js) - Google Analytics