ui树形组建的渲染 tag菜单初始化展现控制 (树形)
来源:互联网 发布:淘宝追加评论规则 编辑:程序博客网 时间:2024/05/22 03:04
//将数据表中的数据显示成树形结构
select * from t_b_area t start with t.source_type = 1 connect by t.parent_id = prior t.id。
//树形结构的实体,用到内部类
/**
*
*/
package com.ces.zwww.entity;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import com.ces.xarch.core.entity.LongIDEntity;
@Entity
@Table(name = "T_B_AREA")
public class Area extends LongIDEntity {
/** serialVersionUID(long):. */
private static final long serialVersionUID = -5967350210592855795L;
private String name;
private String mask;
private String remark;
private String address;
@Column(name="business_ip")
private String businessIp;
@Column(name="source_type")
private String sourceType;
@Column(name="parent_name")
private String parentName;
@Column(name="parent_id")
private Long parentId;
@Column(name="start_ip")
private String startIp;
@Column(name="end_ip")
private String endIp;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMask() {
return mask;
}
public void setMask(String mask) {
this.mask = mask;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getBusinessIp() {
return businessIp;
}
public void setBusinessIp(String businessIp) {
this.businessIp = businessIp;
}
public String getSourceType() {
return sourceType;
}
public void setSourceType(String sourceType) {
this.sourceType = sourceType;
}
public String getParentName() {
return parentName;
}
public void setParentName(String parentName) {
this.parentName = parentName;
}
public Long getParentId() {
return parentId;
}
public void setParentId(Long parentId) {
this.parentId = parentId;
}
public String getStartIp() {
return startIp;
}
public void setStartIp(String startIp) {
this.startIp = startIp;
}
public String getEndIp() {
return endIp;
}
public void setEndIp(String endIp) {
this.endIp = endIp;
}
public class Tree {
private Long id;
private String name;
private String type;
private String mask;
private String busip;
private List<Tree> children;
public Tree(){
}
public Tree(Long id, String name, String type, String mask, String busip){
this.id = id;
this.name = name;
this.type = type;
this.mask = mask;
this.busip = busip;
this.children = new ArrayList<Area.Tree>();
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getMask() {
return mask;
}
public void setMask(String mask) {
this.mask = mask;
}
public String getBusip() {
return busip;
}
public void setBusip(String busip) {
this.busip = busip;
}
public List<Area.Tree> getChildren() {
return children;
}
public void setChildren(List<Area.Tree> children) {
this.children = children;
}
public void addChildren(Area.Tree tree) {
children.add(tree);
}
}
}
public List<Area.Tree> findByTree(){
List<Area.Tree> trees = new ArrayList<Area.Tree>();
List<Area> results = getDao().findByTree();
for (Area area : results) {
Area.Tree node = null;
if("1".equals(area.getSourceType())){
node = area.new Tree(area.getId(), area.getName(), area.getSourceType(), area.getMask(), area.getBusinessIp());
trees.add(node);
}else if("2".equals(area.getSourceType())){
node = getTreeNode(trees);
node.addChildren(area.new Tree(area.getId(), area.getName(), area.getSourceType(), area.getMask(), area.getBusinessIp()));
}else if("3".equals(area.getSourceType())){
node = getTreeNode(getTreeNode(trees).getChildren());
node.addChildren(area.new Tree(area.getId(), area.getName(), area.getSourceType(), area.getMask(), area.getBusinessIp()));
}
}
return trees;
}
<%
String data = IOUtil.ajaxContent(pageContext.getAttribute("basePath")+"/area!tree.json?parentId=0");
pageContext.setAttribute("ajaxdata", data);
%>
<!-- 左侧导航栏 -->
<uitag-core:sidebar collapse="false">
<uitag-core-sidebar:navitems>
<uitag-core-sidebar:navitem icon="fa-desktop" dropdown="true" title="资源分类" current="open" root="true">
<system:auth resKey="zwww.zygl.wlsb">
<uitag-core-sidebar:navitem icon="fa-caret-right" dropdown="true" tree="true" title="网络设备" url="wlsb/list.jsp" onclick="onSidebarClick(this)">
<cui:tree id="tree1" data="treedata" onClick="onTreeNodeClick"></cui:tree>
</uitag-core-sidebar:navitem>
</system:auth>
<system:auth resKey="zwww.zygl.aqsb">
<uitag-core-sidebar:navitem icon="fa-caret-right" dropdown="true" tree="true" title="安全设备" url="aqsb/list.jsp" onclick="onSidebarClick(this)">
<cui:tree id="tree2" data="treedata" onClick="onTreeNodeClick"></cui:tree>
</uitag-core-sidebar:navitem>
</system:auth>
<system:auth resKey="zwww.zygl.fwcc">
<uitag-core-sidebar:navitem icon="fa-caret-right" dropdown="true" tree="true" title="服务器及存储" url="fwqjcc/list.jsp" onclick="onSidebarClick(this)">
<cui:tree id="tree3" data="treedata" onClick="onTreeNodeClick"></cui:tree>
</uitag-core-sidebar:navitem>
</system:auth>
<system:auth resKey="zwww.zygl.jfjg">
<uitag-core-sidebar:navitem icon="fa-caret-right" dropdown="true" tree="true" title="机房机柜" url="jfjg/list.jsp" onclick="onSidebarClick(this)">
<cui:tree id="tree4" data="treedata" onClick="onTreeNodeClick"></cui:tree>
</uitag-core-sidebar:navitem>
</system:auth>
<system:auth resKey="zwww.zygl.gxll">
<uitag-core-sidebar:navitem icon="fa-caret-right" dropdown="true" tree="true" title="光纤链路" url="gxll/list.jsp" onclick="onSidebarClick(this)">
<cui:tree id="tree5" data="treedata" onClick="onTreeNodeClick"></cui:tree>
</uitag-core-sidebar:navitem>
</system:auth>
<system:auth resKey="zwww.zygl.yhjd">
<uitag-core-sidebar:navitem icon="fa-caret-right" dropdown="true" tree="true" title="用户节点" url="yhjd/list.jsp" onclick="onSidebarClick(this)">
<cui:tree id="tree6" data="treedata" onClick="onTreeNodeClick"></cui:tree>
</uitag-core-sidebar:navitem>
</system:auth>
<system:auth resKey="zwww.zygl.gcs">
<uitag-core-sidebar:navitem icon="fa-caret-right" dropdown="true" tree="true" title="工程师" url="gcs/list.jsp" onclick="onSidebarClick(this)">
<cui:tree id="tree7" data="treedata" onClick="onTreeNodeClick"></cui:tree>
</uitag-core-sidebar:navitem>
</system:auth>
</uitag-core-sidebar:navitem>
</uitag-core-sidebar:navitems>
</uitag-core:sidebar>
//传给url值之后进一步加入参数信息,让iframe加载url+parram
function onTreeNodeClick(event,treeid,node,flag){
var param = "?param=";
switch(node.type){
case "1":param += "{Q_EQ_area:'"+node.name+"'}";break;
case "2":param += "{Q_EQ_center:'"+node.name+"'}";break;
case "3":param += "{Q_EQ_street:'"+node.name+"'}";break;
default:param += "${param.param}";break;
}
$("#ListFrame").attr("src",url+param);
}11111111111111111111111111
//<system:auth resKey="zwww.zygl.yhjd">
//<uitag-core-sidebar:navitem
//icon="fa-caret-right"dropdown="true" tree="true"
//title="用户节点" url="yhjd/list.jsp"
//onclick="onSidebarClick(this)">
//<cui:tree //id="tree6"data="treedata" //onClick="onTreeNodeClick">//</cui:tree></uitag-core-//sidebar:navitem>
//</system:auth>
function onSidebarClick($this){//点击时将此菜单的url赋值
type = $this.title;
url = $($this).attr("url");
}
<script type="text/javascript">
var url,rowdata = {};
var type = '${param.type}';//来自于layout一级大菜单
var area = '${param.area}';
var treedata = [{'id':'0','name':'全市','open':true,'children':eval('(${ajaxdata})')}];
</script>
//来自于layout一级大菜单,点击之后进入这个大类小的页面菜单
<!-- // modify by chanlong on 2014-12-01 09:56 -->
<layout:panel floats="left" width="auto">
<a href="${ctx}/views/zwww/zygl/index.jsp?type=网络设备&area=全市" class="navs-link"><span class="menus menu02"> </span></a>
</layout:panel>
//要跳转后的页面
<script type="text/javascript">
var postData = {'Q_EQ_devcType':'wlsb'};
if("${param.param}"){
$.extend(postData, eval("(${param.param})"));//在这里将所有参数组合成json对,以待小项菜单的跳转页面//后的参数使用
}
</script>
//这里由于我们grid的查询,是用postData作为参数的所以这里组装成这样,这样只要重新调用search就上述菜单性的参数全部搞定
function search1() {
var nameip = $('#nameip').val();
var sblx = $('#sblx').combobox( "getValues" ).toString();
var sbzt = $("#sbzt").radiolist("getValue");
if (nameip != "") {
postData['Q_LIKE_ip'] = nameip;
}
if (sblx != "") {
postData['Q_LIKE_resType'] = sblx;
}
if (sbzt != "all") {
postData['Q_LIKE_status'] = sbzt;
}else{//modify by 包健敏 选择全部的时候需要去掉该查询项
delete postData['Q_LIKE_status'];
}
$('#list1').grid('option', 'postData', postData);
$('#list1').grid('reload');
}
//菜单初始化展现控制
<script type="text/javascript">
$(function(){
clickSidebar();
});
// 根据参数自动触发左侧的树节点的点击事件
function clickSidebar(){
if(type){
$("ul.submenu li a[title='"+type+"']").click();//把当前菜单中属于上级菜中,中符合标题为title的菜单的点击事件激发
//function onSidebarClick($this){//点击时将此菜单的url赋值
//type = $this.title;
//url = $($this).attr("url");
//}
}
if(area){
$("ul.submenu li a[title='"+type+"'] ~ ul.submenu").find("a[title='"+area+"']").click();//先找到匹配的当前的一级菜单,再在此基础上匹配下级菜单中标题符合参数的,激发他的点击事件
//function onTreeNodeClick(event,treeid,node,flag){
//var param = "?param=";
//switch(node.type){
//case "1":param
//+= "{Q_EQ_area:'"+node.name+"'}";break;
//case "2":param += "{Q_EQ_center:'"+node.name+"'}";break;
//case "3":param += "{Q_EQ_street:'"+node.name+"'}";break;
//default:param += "${param.param}";break;
//}
//$("#ListFrame").attr("src",url+param);
//}
//}
//}
</script>
select * from t_b_area t start with t.source_type = 1 connect by t.parent_id = prior t.id。
//树形结构的实体,用到内部类
/**
*
*/
package com.ces.zwww.entity;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import com.ces.xarch.core.entity.LongIDEntity;
@Entity
@Table(name = "T_B_AREA")
public class Area extends LongIDEntity {
/** serialVersionUID(long):. */
private static final long serialVersionUID = -5967350210592855795L;
private String name;
private String mask;
private String remark;
private String address;
@Column(name="business_ip")
private String businessIp;
@Column(name="source_type")
private String sourceType;
@Column(name="parent_name")
private String parentName;
@Column(name="parent_id")
private Long parentId;
@Column(name="start_ip")
private String startIp;
@Column(name="end_ip")
private String endIp;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMask() {
return mask;
}
public void setMask(String mask) {
this.mask = mask;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getBusinessIp() {
return businessIp;
}
public void setBusinessIp(String businessIp) {
this.businessIp = businessIp;
}
public String getSourceType() {
return sourceType;
}
public void setSourceType(String sourceType) {
this.sourceType = sourceType;
}
public String getParentName() {
return parentName;
}
public void setParentName(String parentName) {
this.parentName = parentName;
}
public Long getParentId() {
return parentId;
}
public void setParentId(Long parentId) {
this.parentId = parentId;
}
public String getStartIp() {
return startIp;
}
public void setStartIp(String startIp) {
this.startIp = startIp;
}
public String getEndIp() {
return endIp;
}
public void setEndIp(String endIp) {
this.endIp = endIp;
}
public class Tree {
private Long id;
private String name;
private String type;
private String mask;
private String busip;
private List<Tree> children;
public Tree(){
}
public Tree(Long id, String name, String type, String mask, String busip){
this.id = id;
this.name = name;
this.type = type;
this.mask = mask;
this.busip = busip;
this.children = new ArrayList<Area.Tree>();
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getMask() {
return mask;
}
public void setMask(String mask) {
this.mask = mask;
}
public String getBusip() {
return busip;
}
public void setBusip(String busip) {
this.busip = busip;
}
public List<Area.Tree> getChildren() {
return children;
}
public void setChildren(List<Area.Tree> children) {
this.children = children;
}
public void addChildren(Area.Tree tree) {
children.add(tree);
}
}
}
public List<Area.Tree> findByTree(){
List<Area.Tree> trees = new ArrayList<Area.Tree>();
List<Area> results = getDao().findByTree();
for (Area area : results) {
Area.Tree node = null;
if("1".equals(area.getSourceType())){
node = area.new Tree(area.getId(), area.getName(), area.getSourceType(), area.getMask(), area.getBusinessIp());
trees.add(node);
}else if("2".equals(area.getSourceType())){
node = getTreeNode(trees);
node.addChildren(area.new Tree(area.getId(), area.getName(), area.getSourceType(), area.getMask(), area.getBusinessIp()));
}else if("3".equals(area.getSourceType())){
node = getTreeNode(getTreeNode(trees).getChildren());
node.addChildren(area.new Tree(area.getId(), area.getName(), area.getSourceType(), area.getMask(), area.getBusinessIp()));
}
}
return trees;
}
<%
String data = IOUtil.ajaxContent(pageContext.getAttribute("basePath")+"/area!tree.json?parentId=0");
pageContext.setAttribute("ajaxdata", data);
%>
<!-- 左侧导航栏 -->
<uitag-core:sidebar collapse="false">
<uitag-core-sidebar:navitems>
<uitag-core-sidebar:navitem icon="fa-desktop" dropdown="true" title="资源分类" current="open" root="true">
<system:auth resKey="zwww.zygl.wlsb">
<uitag-core-sidebar:navitem icon="fa-caret-right" dropdown="true" tree="true" title="网络设备" url="wlsb/list.jsp" onclick="onSidebarClick(this)">
<cui:tree id="tree1" data="treedata" onClick="onTreeNodeClick"></cui:tree>
</uitag-core-sidebar:navitem>
</system:auth>
<system:auth resKey="zwww.zygl.aqsb">
<uitag-core-sidebar:navitem icon="fa-caret-right" dropdown="true" tree="true" title="安全设备" url="aqsb/list.jsp" onclick="onSidebarClick(this)">
<cui:tree id="tree2" data="treedata" onClick="onTreeNodeClick"></cui:tree>
</uitag-core-sidebar:navitem>
</system:auth>
<system:auth resKey="zwww.zygl.fwcc">
<uitag-core-sidebar:navitem icon="fa-caret-right" dropdown="true" tree="true" title="服务器及存储" url="fwqjcc/list.jsp" onclick="onSidebarClick(this)">
<cui:tree id="tree3" data="treedata" onClick="onTreeNodeClick"></cui:tree>
</uitag-core-sidebar:navitem>
</system:auth>
<system:auth resKey="zwww.zygl.jfjg">
<uitag-core-sidebar:navitem icon="fa-caret-right" dropdown="true" tree="true" title="机房机柜" url="jfjg/list.jsp" onclick="onSidebarClick(this)">
<cui:tree id="tree4" data="treedata" onClick="onTreeNodeClick"></cui:tree>
</uitag-core-sidebar:navitem>
</system:auth>
<system:auth resKey="zwww.zygl.gxll">
<uitag-core-sidebar:navitem icon="fa-caret-right" dropdown="true" tree="true" title="光纤链路" url="gxll/list.jsp" onclick="onSidebarClick(this)">
<cui:tree id="tree5" data="treedata" onClick="onTreeNodeClick"></cui:tree>
</uitag-core-sidebar:navitem>
</system:auth>
<system:auth resKey="zwww.zygl.yhjd">
<uitag-core-sidebar:navitem icon="fa-caret-right" dropdown="true" tree="true" title="用户节点" url="yhjd/list.jsp" onclick="onSidebarClick(this)">
<cui:tree id="tree6" data="treedata" onClick="onTreeNodeClick"></cui:tree>
</uitag-core-sidebar:navitem>
</system:auth>
<system:auth resKey="zwww.zygl.gcs">
<uitag-core-sidebar:navitem icon="fa-caret-right" dropdown="true" tree="true" title="工程师" url="gcs/list.jsp" onclick="onSidebarClick(this)">
<cui:tree id="tree7" data="treedata" onClick="onTreeNodeClick"></cui:tree>
</uitag-core-sidebar:navitem>
</system:auth>
</uitag-core-sidebar:navitem>
</uitag-core-sidebar:navitems>
</uitag-core:sidebar>
//传给url值之后进一步加入参数信息,让iframe加载url+parram
function onTreeNodeClick(event,treeid,node,flag){
var param = "?param=";
switch(node.type){
case "1":param += "{Q_EQ_area:'"+node.name+"'}";break;
case "2":param += "{Q_EQ_center:'"+node.name+"'}";break;
case "3":param += "{Q_EQ_street:'"+node.name+"'}";break;
default:param += "${param.param}";break;
}
$("#ListFrame").attr("src",url+param);
}11111111111111111111111111
//<system:auth resKey="zwww.zygl.yhjd">
//<uitag-core-sidebar:navitem
//icon="fa-caret-right"dropdown="true" tree="true"
//title="用户节点" url="yhjd/list.jsp"
//onclick="onSidebarClick(this)">
//<cui:tree //id="tree6"data="treedata" //onClick="onTreeNodeClick">//</cui:tree></uitag-core-//sidebar:navitem>
//</system:auth>
function onSidebarClick($this){//点击时将此菜单的url赋值
type = $this.title;
url = $($this).attr("url");
}
<script type="text/javascript">
var url,rowdata = {};
var type = '${param.type}';//来自于layout一级大菜单
var area = '${param.area}';
var treedata = [{'id':'0','name':'全市','open':true,'children':eval('(${ajaxdata})')}];
</script>
//来自于layout一级大菜单,点击之后进入这个大类小的页面菜单
<!-- // modify by chanlong on 2014-12-01 09:56 -->
<layout:panel floats="left" width="auto">
<a href="${ctx}/views/zwww/zygl/index.jsp?type=网络设备&area=全市" class="navs-link"><span class="menus menu02"> </span></a>
</layout:panel>
//要跳转后的页面
<script type="text/javascript">
var postData = {'Q_EQ_devcType':'wlsb'};
if("${param.param}"){
$.extend(postData, eval("(${param.param})"));//在这里将所有参数组合成json对,以待小项菜单的跳转页面//后的参数使用
}
</script>
//这里由于我们grid的查询,是用postData作为参数的所以这里组装成这样,这样只要重新调用search就上述菜单性的参数全部搞定
function search1() {
var nameip = $('#nameip').val();
var sblx = $('#sblx').combobox( "getValues" ).toString();
var sbzt = $("#sbzt").radiolist("getValue");
if (nameip != "") {
postData['Q_LIKE_ip'] = nameip;
}
if (sblx != "") {
postData['Q_LIKE_resType'] = sblx;
}
if (sbzt != "all") {
postData['Q_LIKE_status'] = sbzt;
}else{//modify by 包健敏 选择全部的时候需要去掉该查询项
delete postData['Q_LIKE_status'];
}
$('#list1').grid('option', 'postData', postData);
$('#list1').grid('reload');
}
//菜单初始化展现控制
<script type="text/javascript">
$(function(){
clickSidebar();
});
// 根据参数自动触发左侧的树节点的点击事件
function clickSidebar(){
if(type){
$("ul.submenu li a[title='"+type+"']").click();//把当前菜单中属于上级菜中,中符合标题为title的菜单的点击事件激发
//function onSidebarClick($this){//点击时将此菜单的url赋值
//type = $this.title;
//url = $($this).attr("url");
//}
}
if(area){
$("ul.submenu li a[title='"+type+"'] ~ ul.submenu").find("a[title='"+area+"']").click();//先找到匹配的当前的一级菜单,再在此基础上匹配下级菜单中标题符合参数的,激发他的点击事件
//function onTreeNodeClick(event,treeid,node,flag){
//var param = "?param=";
//switch(node.type){
//case "1":param
//+= "{Q_EQ_area:'"+node.name+"'}";break;
//case "2":param += "{Q_EQ_center:'"+node.name+"'}";break;
//case "3":param += "{Q_EQ_street:'"+node.name+"'}";break;
//default:param += "${param.param}";break;
//}
//$("#ListFrame").attr("src",url+param);
//}
//}
//}
</script>
0 0
- ui树形组建的渲染 tag菜单初始化展现控制 (树形)
- 树形菜单tag框架 非树形的点击事件
- 树形结构的jsp展现 (2)
- Jquery Easy-UI 树形菜单的运用
- 树形结构的jsp展现
- 树形菜单的制作
- 常用的树形菜单
- Easy UI的树形菜单的异步加载
- 姚博文 几个常用的UI组件(树形菜单,table,validata)
- 树形菜单
- 树形菜单
- 树形菜单
- 树形菜单
- 树形菜单
- 树形菜单
- 树形菜单
- 树形菜单
- 树形菜单
- 【转】Android 下实现带有图标的 ListView Item
- 方法方法
- RabbitMQ-C客户端使用说明
- 【转】Android 下实现 ListView 中添加 CheckBox
- 关于curl返回数据乱码的问题解决方法
- ui树形组建的渲染 tag菜单初始化展现控制 (树形)
- 【原创】Service如何关闭启动自己的Activity
- [转]关于Activity和Task的设计思路和方法
- json组装(只要符合控件要求的格式即可,可以比控件要求的字段多)
- 【原创】Service监听到事件后关闭启动自己的Activity
- Android中BroadCastReceiver使用
- [BZOJ 1233][Usaco2009Open]干草堆tower:单调队列
- echart require js 回调
- 深入探讨 Android 传感器