ztree二级菜单有查询条件,ztree一级菜单没有查询条件
来源:互联网 发布:翼龙和彩虹的区别 知乎 编辑:程序博客网 时间:2024/04/28 14:53
今天碰到一个需求,ztree二级菜单有查询条件,ztree一级菜单没有查询条件,一般情况下查询条件都是先取一级菜单,再取二级菜单,但是一级菜单没有查询条件,会多取了一些不应该有的记录,所以这种情况下,只能实行倒推查询,先查二级菜单,得到的结果作为条件去查一级菜单,代码如下:
/*** * 获取模型树 * @param id * @return */public List<ZTreeNode> getModelTree(String id, String userId) { StringBuffer sql1 = new StringBuffer(); sql1.append(" select ") .append(" a.tplakey,") .append(" a.tplaname,") .append(" a.tplacatecd,") .append(" a.DISPSEQ as seq") .append(" from PISS_tp_bas_inf as a") .append(" where a.tplastat = '1' and modeltype = 1"); sql1.append(" order by seq"); List<ZTreeNode> zTreeNodes1 = jdbcTemplate.query(sql1.toString(), new RowMapper<ZTreeNode>(){ public ZTreeNode mapRow(ResultSet rs, int rowNum)throws SQLException{ String tplacatecd = rs.getString("tplacatecd"); Integer seq=rs.getInt("seq"); ZTreeNode zTreeNode1 = new ZTreeNode(); zTreeNode1.setId(rs.getString("tplakey")); zTreeNode1.setName(rs.getString("tplaname")); zTreeNode1.setIsParent(false); zTreeNode1.setParentId("F_"+(StringUtil.isNull(tplacatecd) ? "1":tplacatecd)); zTreeNode1.setIndex(seq); zTreeNode1.settId(tplacatecd); return zTreeNode1; } }); String ids = ""; if(!zTreeNodes1.isEmpty()){ for(int i=0; i<zTreeNodes1.size(); i++){ String tplacatecd = zTreeNodes1.get(i).gettId(); ids += "'"+tplacatecd+"'"+","; } ids = ids.substring(0, ids.length()-1); }else{ ids = "''"; } StringBuffer sql = new StringBuffer(); sql.append(" select ") .append(" b.id as flodid,") .append(" b.name as flodname,") .append(" b.p_folder_id as pid,") .append(" b.seq as seq") .append(" from PISS_tp_folder as b " + " where ISENABLE='1' and id in (" +ids+")"+ " order by seq"); List<ZTreeNode> zTreeNodes = jdbcTemplate.query(sql.toString(), new RowMapper<ZTreeNode>(){ public ZTreeNode mapRow(ResultSet rs, int rowNum) throws SQLException { String flodid = rs.getString("flodid"); String flodname = rs.getString("flodname"); Integer seq=rs.getInt("seq"); ZTreeNode zTreeNode=new ZTreeNode(); zTreeNode.setId("F_"+flodid); zTreeNode.setName(flodname); zTreeNode.setIsParent(true); zTreeNode.setParentId("F_"+rs.getString("pid")); zTreeNode.setIndex(seq); return zTreeNode; } }); List<ZTreeNode> nodes = new ArrayList<ZTreeNode>(); nodes.addAll(zTreeNodes); nodes.addAll(zTreeNodes1); return nodes;}
页面的代码如下:
var rule_tree = new FAPUI.Tree({ border:false, tbar:false, ttbar:false, filterAble:false, setting : { async : { enable: true,//设置 zTree 是否开启异步加载模式 url: path+'/emphasisCompanyController/getModelTree', autoParam : ['id']//异步加载时需要自动提交父节点属性的参数。[setting.async.enable = true 时生效] }, data:{ key: { name: "name" //设置树节点的name,节点参数name必须和它匹配 }, simpleData: { enable: true, //开启树的层级结构 idKey: "id", //设置树节点id,节点参数id必须与之匹配 节点数据中保存唯一标识的属性名称。[setting.data.simpleData.enable = true 时生效] pIdKey: "parentId" //设置pid,节电参数pid必须与之匹配 节点数据中保存其父节点唯一标识的属性名称。[setting.data.simpleData.enable = true 时生效] } }, check : { enable : true,//设置 zTree 的节点上是否显示 checkbox / radio chkStyle : "checkbox",//勾选框类型(checkbox 或 radio)[setting.check.enable = true 时生效] chkboxType: { "Y": "ps", "N": "ps" }//勾选 checkbox 对于父子节点的关联关系。 }, callback: { beforeCheck: function(treeId, treeNode) { return !isTreeCheckDisable; } } }});
这样就可以了
阅读全文
0 0
- ztree二级菜单有查询条件,ztree一级菜单没有查询条件
- zTree异步加载菜单节点--从数据库中查询
- zTree模糊查询(仅保留符合查询条件节点及其所有父节点)
- zTree -- 下拉菜单
- Jquery UI ztree菜单
- zTree树形菜单案例
- Ztree实现树形菜单
- zTree的菜单筛选
- ztree树查询
- zTree模糊查询
- 一级二级菜单slideToggle
- zTree异步加载树形菜单
- 自定义zTree+easyui右键菜单
- 使用ztree构建权限菜单
- ztree树形菜单简单使用
- zTree树插件--树形菜单
- 使用zTree生成属性菜单
- zTree树形菜单使用实例
- 【BSTree】深入理解二叉搜索树
- SQLyog图形化l数据库的操作和学习
- Java位运算原理及使用讲解(转载)
- 下载功能加等待条
- 类--子类VS父类(一)
- ztree二级菜单有查询条件,ztree一级菜单没有查询条件
- Android中面试题总结五
- 开启新生活
- 各个链接
- 数据结构 简单选择排序(C语言实现)
- Python 标准
- Mesos集群yum安装部署
- 推荐系统的架构
- JAVA实践-新建maven项目提示index.jsp报错