JS组件--Tree

function MyTree(cnt) {
	this.imgPath = "images/treeimg/";
	this.setRoot(new Node(-1, "root", ""));
	cnt = document.getElementById(cnt);
	//cnt.style.width = 210;
	//cnt.style.height = 350;
	cnt.style.fontSize = "12px";
	//cnt.style.borderStyle = "solid";
	//cnt.style.borderColor = "#ccc";
	//cnt.style.borderWidth = "1px 1px 1px 1px";
	//cnt.style.overflowY = "scroll";
	this.container = cnt;
}


MyTree.prototype = {
	setRoot:function (root) {
		this.root = root;
		this.root.icon = this.imgPath + "base.gif";
	}, 
	render:function () {
		this.root.render();
		this.container.appendChild(this.root.box);
		var ns = this.root.child;
		for (var k = 0; k < ns.length; k++) {
			ns[k].render();
			this.container.appendChild(ns[k].box);
			this.container.appendChild(ns[k].subbox);
		}
	}
};

function Node(id, text, href) {
	this.imgPath = "images/treeimg/";
	this.target = "cntFrm";
	this.child = [];
	this.id = id;
	this.text = text;
	this.icon = this.imgPath + "file.gif";
	this.href = href;
	this.leaf = true;
	this.last = true;
	this.parent = null;
	this.level = 0;
	this.box = document.createElement("div");
	this.subbox = document.createElement("div");
	this.state = 1;
}

Node.prototype = {
	render : function () {
		this.setIndent();
		this.setIcon();
		//this.setChk();
		this.setText();
	},
	add : function (id, text, icon, href) {
		var node = new Node(id, text, icon, href);
		this.leaf = false;
		this.icon = this.imgPath + "foldericon.gif";
		node.parent = this;
		if (node.parent.child.length != 0) {
			node.parent.child[node.parent.child.length - 1].last = false;
		}
		node.level = this.level + 1;
		this.child.push(node);
		return node;
	},
	getNoLineNum : function () {
		var count = 0;
		var p = this.parent;
		while (p && p.last) {
			count++;
			p = p.parent;
		}
		return count;
	},
	setIcon : function () {
		var icon = document.createElement("image");
		icon.setAttribute("align", "top");
		icon.src = this.icon;
		this.box.appendChild(icon);
	},
	setText : function () {
		var span = document.createElement("span");
		var text = document.createTextNode(this.text);
		if (this.leaf) {
			var href = this.href;
			span.attachEvent("onclick", function (e) {
				var sender = window.event.srcElement;
				Ajax(href, null, function(res){
					//var div = document.getElementById("mm");
					//mm.innerHTML = res.responseText;
				});
			});
		}
		span.appendChild(text);
		this.box.appendChild(span);
	},
	setChk : function () {
		var chk = document.createElement("input");
		chk.setAttribute("type", "checkbox");
		chk.style.margin = '0 0 0 0';
		this.box.appendChild(chk);
	},
	getPM : function () {
		var pm = "L1.gif";
		if (this.leaf) {
			pm = this.last ? "L1.gif" : "T1.gif";
		} else {
			if (this.state == 0) {
				if (this.last) {
					pm = "Lplus1.gif";
				} else {
					pm = "Tplus1.gif";
				}
			} else {
				if (this.last) {
					pm = "Lminus1.gif";
				} else {
					pm = "Tminus1.gif";
				}
			}
		}
		return pm;
	},
	setIndent : function () {
		var count = this.getNoLineNum();
		var indent = document.createElement("span");
		for (var i = 1; i <= this.level; i++) {
			var blank = document.createElement("span");
			blank.style.width = 18;
			if (i > 1 && i <= this.level - count) {
				blank.style.backgroundImage = "url(" + this.imgPath + "I1.gif)";
			}
			indent.appendChild(blank);
		}
		if (this.level > 0) {
			var t = document.createElement("image");
			t.setAttribute("align", "top");
			t.setAttribute("id", "img" + this.id);
			t.src = this.imgPath + this.getPM();
			var kk = this;
			var cs = kk.child;
			for (var k = 0; k < cs.length; k++) {
				cs[k].render();
				kk.subbox.appendChild(cs[k].box);
				kk.subbox.appendChild(cs[k].subbox);
			}
			kk.subbox.style.display = (this.state==0)?"none":"block";
			t.attachEvent("onclick", function (e) {
				var sender = window.event.srcElement;
				if (kk.state == 0) {
					kk.state = 1;
					sender.src = kk.imgPath + kk.getPM();
					kk.subbox.style.display = "block";
				} else {
					kk.state = 0;
					sender.src = kk.imgPath + kk.getPM();
					kk.subbox.style.display = "none";
				}
			});
			indent.appendChild(t);
		}
		this.box.appendChild(indent);
	}
};

 

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在 IT 领域,文档格式转换是常见需求,尤其在处理多种文件类型时。本文将聚焦于利用 Java 技术栈,尤其是 Apache POI 和 iTextPDF 库,实现 doc、xls(涵盖 Excel 2003 及 Excel 2007+)以及 txt、图片等格式文件向 PDF 的转换,并实现在线浏览功能。 先从 Apache POI 说起,它是一个强大的 Java 库,专注于处理 Microsoft Office 格式文件,比如 doc 和 xls。Apache POI 提供了 HSSF 和 XSSF 两个 API,其中 HSSF 用于读写老版本的 BIFF8 格式(Excel 97-2003),XSSF 则针对新的 XML 格式(Excel 2007+)。这两个 API 均具备读取和写入工作表、单元格、公式、样式等功能。读取 Excel 文件时,可通过创建 HSSFWorkbook 或 XSSFWorkbook 对象来打开相应格式的文件,进而遍历工作簿中的每个 Sheet,获取行和列数据。写入 Excel 文件时,创建新的 Workbook 对象,添加 Sheet、Row 和 Cell,即可构建新 Excel 文件。 再看 iTextPDF,它是一个用于生成和修改 PDF 文档的 Java 库,拥有丰富的 API。创建 PDF 文档时,借助 Document 对象,可定义页面尺寸、边距等属性来定制 PDF 外观。添加内容方面,可使用 Paragraph、List、Table 等元素将文本、列表和表格加入 PDF,图片可通过 Image 类加载插入。iTextPDF 支持多种字体和样式,可设置文本颜色、大小、样式等。此外,iTextPDF 的 TextRenderer 类能将 HTML、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值