public String getTest(HttpServletRequest request)
{
String parentId = req.getValue(request, "parentId");//菜单id
String sql = " select a.id,a.name text,a.superorId parentId,a.tree_level level,"
+" (case (select count(id) from BT_CountryRelation b where b.superorId =a.id) when 0 then 'open' else 'closed' end) AS state "
+" from bt_countryrelation a where a.tree_level=1 ";
if(null != parentId && !"".equals(parentId)){
sql = " select a.id,a.name text,a.superorId parentId,a.tree_level level, "
+" (case (select count(id) from BT_CountryRelation b where b.superorId =a.id) when 0 then 'open' else 'closed' end) AS state "
+"from bt_countryrelation a where a.superorId ='"+parentId+"'";
}
List <?> list = db.queryForList(sql);
JSONArray array = JSONArray.fromObject(list);
return array.toString();
}
上述为easyui-tree 中的数据-重点是一句sql解决了 叶子节点的打开关闭状态
只在sqlserver中试过
select a.id,a.name text,a.superorId parentId,a.tree_level,
(case (select count(id) from BT_CountryRelation b where b.superorId =a.id) when 0 then 'open' else 'closed' end) AS state
from bt_countryrelation a where a.superorId = 1
本文介绍了一种使用SQL语句来动态设置树状结构中节点的打开或关闭状态的方法。通过一个案例展示了如何根据子节点数量判断父节点的状态,适用于构建如easyui-tree等组件的数据源。
4340

被折叠的 条评论
为什么被折叠?



