开发工具与关键技术:Visual Studio 2015 、C#、SpriingMVC
作者: 林锦铅 ;撰写时间: 2019 年 01 月 19 日
/*喜欢树形的同学推荐一个网站: http://www.treejs.cn/v3/api.php
1、页面样式(根据个人喜好设置zTree样式)
Eg:
<ul id=”tree” class=”ztree” style=”overflow:auto; border:1px solid rgb(225,225,225);
Border-radius:5px;background:rgb(242,242,242);padding:10px 10px 15px 15px;
Height:469px;margin-top:10px; font-size:12px;”>
</ul>
2、引入zTreeCSS插件
Eg:
<link href="~/Content/zTreeStyle/zTreeStyle.css" rel="stylesheet" />
JQuery
Eg:
<script src="~/Content/zTreeStyle/js/jquery.ztree.core.js"></script>
<script src="~/Content/zTreeStyle/js/jquery.ztree.excheck.min.js"></script>
<script src="~/Content/zTreeStyle/js/jquery.ztree.exedit.min.js"></script>
3、代码讲解
Eg:
var zTreeObject;
// 病区树形
$(function () {
var setting = {
view: { selectedMulti: true }//设置是否允许同时选中多个节点 、支持
};
// 绑定树形
$.ajax({
type: 'post',// 表示异步加载采用 post 方法请求 post /get
async: false,//
contentType: "application/json",//可以满足 .Net 的编程需要,按照 JSON 格式提交参数
url: "/conthacdSelesthing/clipboard/Tree",
dataType: "json",//可以满足JSON请求
success: function (data) {
$.fn.zTree.init($("#tree"),
setting, data);
}
});
});
控制器
Eg:
public ActionResult Tree()
{
StringBuilder sbTree = new StringBuilder();
var dbThepatientab = (from tbThepatientable in myModels.SYS_Thepatientable select tbThepatientable).ToList();
sbTree.Append("[");
for (int j = 0; j < dbThepatientab.Count; j++)
{
int ThepatientableID = dbThepatientab[j].ThepatientableID;
ntable
var listInpatientwardchart = (from tbThepatientable in myModels.SYS_Thepatie join tbThepatientableMINGXIBIA in myModels.PW_ThepatientableMINGXIBIA on tbThepatientable.ThepatientableMINGXIID equals tbThepatientableMINGXIBIA.ThepatientableMINGXIID
join tbInpatientwardchart in myModels.PW_Inpatientwardchart on tbThepatientableMINGXIBIA.InpatientwardID equals tbInpatientwardchart.InpatientwardID
where tbThepatientableMINGXIBIA.ThepatientableID == ThepatientableID
select tbInpatientwardchart
).ToList();
if (listInpatientwardchart.Count > 0)
{
sbTree.Append("{\"id\":\"" + dbThepatientab[j].ThepatientableID + "\",\"name\":\"" + dbThepatientab[j].Name.Trim() + "\",\"Type\":\"" + 0 + "\",\"open\":\"" + true + "\",\"children\":[");
for (int i = 0; i < listInpatientwardchart.Count; i++)
{
sbTree.Append("{\"id\":\"" + listInpatientwardchart[i].InpatientwardID + "\",\"name\":\"" + listInpatientwardchart[i].Inpatientwardname.Trim() + "\",\"Type\":\"" + 1 + "\"},");
}
sbTree.Remove(sbTree.Length - 1, 1);
sbTree.Append("]},");
}
else
{
sbTree.Append("{\"id\":\"" + dbThepatientab[j].ThepatientableID + "\",\"name\":\"" + dbThepatientab[j].Name.Trim() + "\",\"Type\":\"" + 0 + "\"},");
}
}
sbTree.Remove(sbTree.Length - 1, 1);
sbTree.Append("]");
return Content(sbTree.ToString());
}
数据类型
Eg:
{[
{"id":"2","name":"陈安","Type":"0","open":"True","children":[{"id":"1","name":"一病区","Type":"1"}]},
{"id":"3","name":"玉垒","Type":"0","open":"True","children":[{"id":"2","name":"二病区","Type":"1"}]},
{"id":"4","name":"雪莉","Type":"0","open":"True","children":[{"id":"3","name":"三病区","Type":"1"}]},
{"id":"7","name":"杨静雯","Type":"0","open":"True","children":[{"id":"4","name":"四病区","Type":"1"}]}
]}
循环一次数据
{"id":"7","name":"杨静雯","Type":"0","open":"True","children":[{"id":"4","name":"四病区","Type":"1"}]}
Open: 记录 treeNode 节点的 展开 / 折叠 状态。
Children: 节点的子节点数据集合
sbTree.Append 设置数据文件的搜索路径
sbTree.Remove 移除