树形组织结构图

本文详细介绍了如何使用Java实现树形组织结构图,包括组织结构预览、功能说明以及JavaScript代码实现。主要功能包括:点击组织或成员添加到右侧(排重)、全选和移除成员。此外,还提供了MzTreeView-1.0动态实现的Table及动态树状组织结构的Taglib实现。
摘要由CSDN通过智能技术生成

树形组织结构图

第一、组织结构预览如下图:

 第二、功能说明:

当鼠标点击左边某组织时,会把该组织下的所有成员添加到右边(排重);

当鼠标点击左边某成员时,会把该成员添加到右边(排重);

当鼠标点击"全选"时,会把所有组织的成员添加到右边(排重);

当鼠标点击"移除"时,会把右侧被选中的成员移除;

第三、java script代码实现如下:

//添加成员
    function addUser(id, name) {
        var oOption = document.createElement("OPTION");
        oOption.text = name;
        oOption.value = id;
        var oSelect = window.parent.document.getElementById("groupdest");
        if (!checkById(id, name)) {
            oSelect.add(oOption);
        } 
    }

//添加组织
    function addGroup(id, ids, names) {
        if (ids == "") {
            return;
        }
        var idArr = ids.split(",");
        var nameArr = names.split(",");
        var len = idArr.length;
        for (var i = 0; i < len - 1; i ++) {
            addUser(idArr[i], nameArr[i]);
        }
    }

//检查是否已经添加过
    function checkById(id, name) {
        var oSelect = window.parent.document.getElementById("groupdest");
        var bContains = false;
        for (var i = 0; i < oSelect.length; i++) {
            if (oSelect.options[i].value == id || oSelect.options[i].text == name) {
                bContains = true;
            }
        }
        return bContains;
    }

//移除用户

function removeUser() {
        var oSelect = document.getElementById("groupdest");
        for (var i = 0; i < oSelect.length; i++) {
            var option = oSelect.options[i];
            if (option.selected == true) {
                oSelect.remove(i);
                return;
            }
        }
    }

第四:树状组织结构图的MzTreeView-1.0动态实现的Table

/**
 *
 */
package com.daniel.lr.crbt.share.db;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import org.hibernate.validator.Pattern;

/**
 * @author Daniel Cao
 * @date   2007-4-27
 * @time   下午10:47:59
 *
 * 树状菜单(Menu)数据库定义.
 * 利用MzTreeView1.0生成.
 * 每个字段值中不可有冒号,不可以换行,
 * 引号酌情考虑应不与节点字符串的引号相冲突
 *
 */
@Entity
@Table(name="sys_menu")
public class Menu extends HibernateObject {
 private static final long serialVersionUID = 9135605811004668162L;
 //父节点ID,若已经是根节点则为0
 private Long   parentId;
 //节点显示文本,根节点可空,表示不显示
 private String text;
 //节点提示说明
 private String hint;
 //节点的图标,对应的名字在类里的icons和iconsExpand定义,这里表示图片的名称pic.gif;picopen.gif格式
 private String icon;
 //节点挂的数据,如param=value&param

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值