easyui 生成樹

public JSONArray getTree() {

		StringBuffer sb = new StringBuffer();

		JSONArray jsonArray = new JSONArray();

		String jsonstr = "";
		//獲取源數據 
		List<SysGroup> list = this.xx.getSysGroupList();

		try {
			//排序
			Collections.sort(list);
			//遍歷
			for (SysGroup sysGroup : list) {

				if (sysGroup.getParentId() == 0) {

					sb.append("{");

					sb.append("'id':" + sysGroup.getGroupId() + ",");

					sb.append("'text':" + "'" + sysGroup.getGroupName() + "',");

					sb.append("'iconCls':" + "'icon-folder',");

					sb.append("'state':" + "'closed'");

					int x = 0;

					// 判斷是否有子類
					for (SysGroup sys : list) {

						if (sys.getParentId() == sysGroup.getGroupId()) {

							x++;

							break;
						}
					}
					if (x > 0) {

						sb.append(",'children':[");
						// 二級分類
						for (SysGroup sysGroupTwo : list) {

							if (sysGroupTwo.getParentId() == sysGroup
									.getGroupId()) {

								sb.append("{");

								sb.append("'id':" + sysGroupTwo.getGroupId()
										+ ",");

								sb.append("'text':" + "'"
										+ sysGroupTwo.getGroupName() + "',");

								sb.append("'iconCls':" + "'icon-folder'");
								// 三級以上分類
								getTreeLevel(list, sysGroupTwo.getGroupId(), sb);

								sb.append("},");

							}
						}
						sb.append("]");
					}
					sb.append("},");
				}
				break;
			}
			jsonstr = sb.toString();

			jsonstr = jsonstr.replace(",]", "]");

			if (jsonstr.length() > 0) {
				jsonstr = jsonstr.substring(0, jsonstr.length() - 1);
			}
			jsonstr = "[" + jsonstr + "]";

			jsonArray = jsonArray.fromObject(jsonstr);

		} catch (Exception e) {

			e.printStackTrace();
		}
		return jsonArray;

	}
	
	/**
	 * 遍歷樹
	 * @param list
	 * 			部門
	 * @param id
	 * 			部門ID
	 * @param sb
	 * 			字符串
	 */
	public void getTreeLevel(List<SysGroup> list, int id,StringBuffer sb) {
		int x = 0;
		for (SysGroup sysGroup : list) {
			if (sysGroup.getParentId() == id) {
				x++;
				break;
			}
		}
		if (x > 0) {
			sb.append(",'state':'closed'");
			sb.append(",'children':[");
			for (SysGroup sys : list) {
				if (sys.getParentId() == id) {
					sb.append("{");
					sb.append("'id':'" + sys.getGroupId() + "',");
					sb.append("'text':" + "'" + sys.getGroupName() + "',");
					
					sb.append("'iconCls':" + "'icon-folder'");

					this.getTreeMenu(list, sys.getGroupId(),sb);
					sb.append("},");
				}
			}
			sb.append("]");
		}
	}

發佈了39 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章