Jquery UI 组合树 - ComboTree 集成Wabacus4.1 代码剖析
来源:互联网 发布:淘宝食品代理公司注 编辑:程序博客网 时间:2024/04/30 03:51
Jquery UI 1.3 (组合树 - ComboTree ) 集成Wabacus4.1 集成Spring 代码剖析
使用时,请下载需要Jquery ui包进行配置
combotree.js 的代码,可以不用修改, 只是Wabacus中的编辑少量配置一下即可,此例子只进行了2级的菜单拼接,如需修改,只需将方法修改成递归拼接即可
如:
首先combotree.js代码
var dataurl,valuefield,textfield; /** * 加载树形下拉框 */function loadComboTree(){ dataurl = $('input.easyui-combotree').attr("dataurl"); valuefield = $('input.easyui-combotree').attr("valuefield"); textfield = $('input.easyui-combotree').attr("textfield"); //alert(dataurl); $('input.easyui-combotree').combotree({ url:dataurl, //data : json, valueField : valuefield, textField : textfield, editable: false,//定义用户是否可以直接输入文本到选择框默认false animate:true,//展开/折叠节点的时候是否显示效果 onClick : function(node) { //alert(node.id+"___"+node.text); $('input.easyui-combotree').val(node.id); // 赋值 }, onSelect : function(node) { //返回树对象 var tree = $(this).tree; //选中的节点是否为叶子节点,如果不是叶子节点,清除选中 var isLeaf = tree('isLeaf', node.target); if (!isLeaf) { //清除选中 $('input.easyui-combotree').combotree('clear'); } }, onLoadSuccess: function(node, data) { var id = $('input.easyui-combotree').val(); var v_t = $('input.easyui-combotree').combotree('tree'); if(id == null || id == 'undefined' || id.trim() == '') return; //alert(id); var t = v_t.tree('find',id);// 查找,并选中当前 if(t != null && t!=""){ v_t.tree('select', t.target); } }, onLoadError: function(){ $(this).append("<li>出错页面</li>"); } }); }
一 page和report
<page id="edit_plansolution" <strong><span style="color:#ff0000;">js</span></strong>="/myproject/jqueryui/js/jquery-1.10.1.min.js,/myproject/jqueryui/js/jquery.easyui.min.js,/myproject/jqueryui/js/combotree.js" <strong><span style="color:#ff0000;">css</span></strong>="/myproject/jqueryui/css/easyui.css,/myproject/jqueryui/css/icon.css" > <report id="edit_detail" title="测试" <span style="color:#ff0000;"><strong>onload="loadComboTree"</strong></span>>二、编辑列
<col column="eventype" label="事故类型:"> <inputbox jsvalidate="isNotEmpty(#label#列不能为空)" styleproperty="class='easyui-combotree' dataurl='SelectTree.jsp' valuefield='id' textfield='text' style='width:250px'" /></col>
三、Service
Web.xml配置
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/naframework</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Spring配置
<?xml version="1.0"encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd" default-lazy-init="true"> <!-- 数据源配置,在生产环境使用应用服务器的数据库连接池 --> <bean id="springDSN"class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName"value="java:comp/env/jdbc/naframework"/> </bean> <bean id="jdbcTemplate"class="org.springframework.jdbc.core.JdbcTemplate"abstract="false" lazy-init="false"autowire="default"dependency-check="default"> <property name="dataSource"> <ref bean="springDSN"/> </property> </bean> <!-- 事务管理器配置,单数据源事务 --> <bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"ref="sessionFactory"/> </bean></beans>
JAVA配置
privateJdbcTemplate jdbcT = (JdbcTemplate) SpringUtil.getBean("jdbcTemplate"); /** * 拼接成json类型 事故类型 * @author 刘仁奎 * @return */ publicString getJSONData(){ // 查询一级节点 String sql="select * from category where categorytype='accidclass' and categorylevel='1' order by categorycode"; List list=jdbcT.queryForList(sql); StringBuffer json=newStringBuffer("["); String data="",d_2=""; if(list!=null&& list.size()>0){ for(inti=0; i<list.size();i++){ Map v_map = (Map)list.get(i); json.append("{"id":""+v_map.get("CATEGORYCODE").toString().trim()+"","); json.append(""text":""+v_map.get("CATEGORYNAME").toString().trim()+"""); if(v_map.get("CATEGORYLEVEL") != null&& v_map.get("CATEGORYLEVEL").toString().trim().equals("1")){// 判断是否是父节点,赋图标 // 拼接2级子节点 String sql_2="select * from category where categorytype='accidclass' and categorylevel='2' and parentcode='"+v_map.get("CATEGORYCODE")+"' order by categorycode"; List v_l=jdbcT.queryForList(sql_2); if(v_l.size()>0){ json.append(","children":"); //System.out.println("********************"+sql_2+"***********************"); StringBuffer child_json=newStringBuffer("["); for(intj=0; j<v_l.size();j++){ Map v_m = (Map) v_l.get(j); child_json.append("{"id":""+v_m.get("CATEGORYCODE").toString().trim()+"","); child_json.append(""text":""+v_m.get("CATEGORYNAME").toString().trim()+""},"); //System.out.println("_____子节点:_"+v_m.get("CATEGORYCODE")+"__"+v_m.get("CATEGORYNAME")+"___________"); } if(child_json.lastIndexOf(",") != -1){ d_2 = child_json.substring(0,child_json.lastIndexOf(","))+"]},"; json.append(d_2); } }else{ // 如果没有子节点 json.append("},"); } } } } data=json.substring(0, json.length()-1)+"]"; System.out.println(data); returndata; }
我这里的Servlet使用了jsp代替
<%@ page language="java" pageEncoding="UTF-8"%><%@ page contentType="text/html; charset=UTF-8"%><%@ page import="com.nasoft.jdbc.sysmanager.CategoryDao" %> <%/** * 应急预案,事故类型下拉框树 */CategoryDao std = new CategoryDao();//String json = std.getJSONData();// String json="[{\"id\":1,\"text\":\"Folder1\",\"iconCls\":\"icon-ok\",\"children\":[{\"id\":2,\"text\":\"File1\"},{\"id\":3,\"text\":\"Folder2\",\"state\":\"open\",\"children\":[{\"id\":4,\"text\":\"File3\",\"iconCls\":\"icon-reload\"}]}]},{\"text\":\"Languages\",\"state\":\"closed\",\"children\":[{\"id\":\"j1\",\"text\":\"Java\"},{\"id\":\"j2\",\"text\":\"C#\"}]}]";//System.out.println(json);out.print(json);%>
- Jquery UI 组合树 - ComboTree 集成Wabacus4.1 代码剖析
- jQuery EasyUI 组合树(ComboTree)用法
- Jquery ui ComboTree绑定
- Easyui-combotree下拉框组合树
- jquery easyui combotree 树实例简单应用
- Easy-UI combotree多选
- JQuery EasyUI combotree
- jquery easyUI ComboTree使用方法
- jQuery easyui combotree
- jquery easyui combotree
- jquery combotree 组件
- easy ui combotree 取值
- jQuery EasyUI API 中文文档 - 下拉列表树(ComboTree)
- Jquery ComboTree树的绑定-数据源JSON格式-操作
- Jquery ComboTree树的绑定-数据源JSON格式-操作
- jquery easyUI ComboTree使用心得
- jquery combotree\datagrid 包引用
- jquery easyui combotree取值
- 字符数组排序(用指针数组实现)
- PowerShell命令cmdlet大全
- java编程思想笔记--内部类部分二
- poj 2182 Lost Cows
- IOS开发之带格式的文本
- Jquery UI 组合树 - ComboTree 集成Wabacus4.1 代码剖析
- android 取消蓝牙配对框 实现自动配对
- opengl——开篇掉坑里了
- Andrew Stankevich's Contest #5 Solution
- delphi中响应鼠标进入或离开控件的方法
- 报错: java.security.KeyStoreException: java.security.NoSuchAlgorithmException: KeyStore jks implementa
- MPEG-2文件的构造格式
- Xcode 常用快捷键及代码自动排版
- 用HDevelop软件自动生成的.ps文件来制作标定板