jQWidgets的TreeGrid 心得:

1.下载 jQWidgets 的包,加载到项目。

2.在项目中找到demos/jqxtreegrid​/javascript-tree-grid-icons.htm ,打开相应的html,看源代码,修改代码依赖的js文件路径,应用到你的项目中来。

3.构造treegrid 需要,数据源source​对象,属性dataType是数据类型,比如json,dataFields是数据对象中有的字段,hierarchy是指定用那个字段来构造父子关系,第一个参数为字段是id,第二字段指向字段reportsTo,比如对象中的reportsTo属性指向另外一个对象id,说明被指对象是其父对象。 localData是json格式的动态数据源,也就是项目中需要的动态数据。​

4. $.jqx.dataAdapter(source​,{});这个对象是可以treegrid加载前进行表格的设置,例如何以单元格中,可以设置图片,可以加载链接,等点击链接后跳转传递数据。​

5.$('#treeGrid').jqxTreeGrid({});是从页面id为treeGrid的div,里创建treegrid,其中基本的宽度,dataAdapter对象,接下来可设置可否显示图片icon为true,sortable排序,columnGroups表格可拆分设计,pageable分页


<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<c:set scope="page" var="path" value="${pageContext.request.contextPath}"></c:set>
<title>事项列表</title>
 <link rel="stylesheet" href="${path}/js/jq/jqwidgets/styles/jqx.base.css" type="text/css" />
    <script type="text/javascript" src="${path}/js/jq/scripts/jquery-1.11.1.min.js"></script>
    <script type="text/javascript" src="${path}/js/jq/jqwidgets/jqxcore.js"></script>
    <script type="text/javascript" src="${path}/js/jq/jqwidgets/jqxdata.js"></script>
    <script type="text/javascript" src="${path}/js/jq/jqwidgets/jqxbuttons.js"></script>
    <script type="text/javascript" src="${path}/js/jq/jqwidgets/jqxscrollbar.js"></script>
    <script type="text/javascript" src="${path}/js/jq/jqwidgets/jqxdatatable.js"></script>
    <script type="text/javascript" src="${path}/js/jq/jqwidgets/jqxtreegrid.js"></script>
    <script type="text/javascript" src="${path}/js/jq/scripts/demos.js"></script>
    <script type="text/javascript" src="${path}/js/jq/jqwidgets/jqxtabs.js"></script>
     <script type="text/javascript" src="${path}/js/jq/jqwidgets/jqxinput.js"></script>
    <style>
        .jqx-tree-grid-icon, .jqx-tree-grid-icon-size {
            vertical-align:middle;
            margin-top:4px;
            width: 17px;
            height: 22px;
        }
        .jqx-tree-grid-title, .jqx-tree-grid-collapse-button, .jqx-tree-grid-expand-button {
            height: 30px;
            line-height: 40px;
        }
    </style>
    <script type="text/javascript">
        $(document).ready(function () {
        //var employeeAll=${tbizlist};
        var employees= ${xzxk};
        var source =
            {
                dataType: "json",
                dataFields: [
                    { name: 'fbizid', type: 'string' },
                    { name: 'reportsTo', type: 'string' },
                    { name: 'fdispname', type: 'string' },
                    { name: 'fzgdw', type: 'string' },
                    { name: 'forder', type: 'int' },
                    { name: 'childTbizSet', type: 'string' },
                    { name: 'fisbiz', type: 'string' },
                    { name: 'fname', type: 'string' }
                ],
                hierarchy:
                {
                    keyDataField: { name: 'fbizid' },
                    parentDataField: { name: 'reportsTo' }
                },
                id: 'fbizid',
                localData: employees
            };
            var dataAdapter = new $.jqx.dataAdapter(source, {
                beforeLoadComplete: function (records) {
                console.log(records);
                    for (var i = 0; i < records.length; i++) {
					    //records[i].fdispname="<a href='http://www.qq.com?b="+records[i].fdispname+"'>"+records[i].fdispname+"</a>";
					    var imgUrl;
					    if(records[i].childTbizSet.length==0){
					   		imgUrl= '${path}/image/ty.png';
					    	records[i].icon=imgUrl;
					    	records[i].fisbiz ="<a href='${path}/online/tbizrecs/bef/list/"+records[i].fdispname+"/"+records[i].fisbiz+"/"+records[i].fname+"/"+records[i].fbizid.toString()+"'><img alt='' src='${path}/image/one.png'></a>";
					    	records[i].fdispname="<a href='${path}/online/tbizHelps/"+records[i].fname+"/list'>"+records[i].fdispname+"</a>";
					    }else {
					    	imgUrl = '${path}/image/tt.png';
					    	records[i].icon=imgUrl;
					    		records[i].fisbiz ="";
					    }
                    }
                    return records;
                }
            }
            );
            // create Tree Grid1
            $("#treeGrid").jqxTreeGrid(
            {
                width: '99%',
                source: dataAdapter,
                sortable: true,
                icons: true,
                pageable: true,
                ready: function () {
                    $("#treeGrid").jqxTreeGrid('expandRow', '2');
                },
                columns: [
                  { text: '服务事项名称', dataField: 'fdispname', width: 600 },
                  //{ text: 'Hire Date', dataField: 'HireDate', cellsFormat: 'd', width: 120 },
                  { text: '主管单位', dataField: 'fzgdw', width: 250 ,cellsalign:'center'},
                  
                  { text: '操作', dataField: 'fisbiz',cellsalign:'center' }
                ]
               // ,
               // columnGroups: [
               //     { text: 'Name', name: 'Name' }
               // ]
            });
    </script>
</head>
<body class='default'>
                <div>
                    <div id="treeGrid" style="margin-left: 4px"></div>
                </div>
</body>
</html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值