树形图可以更加清晰明了的表达出层与层之间的关系,但是在应用方面是有一点难度的,特别是绑定数据库字段的属性内容。
首先我们在使用树形图前,我们必须引用树形图的几个插件:
Js的插件二选一就行。
视图的部分介绍:
我们需要先放一个ul来装这个树形图,然后就是设置参数和路径了
url是控制器代码的一个路径,success表示的树形图数据回填到的ul里。enable:设置zTree是否异步加载模式,在check里面前3个属性表示的是一个勾选操作,Y属性定义checkbox被勾选后的情况;N属性定义checkbox取消勾选后的情况;p表示操作会影响父级节点;s表示操作会影响子级的节点。大小写不能改变,否则功能不同。treeNodeKey和treeNodeParentKey分别表示数据库返回的表的内容和父级内容,
也就是开始显示的值是不展开的。showLine是设置树形图是否显示节点之间的连线,
控制器的代码介绍:
先查询我们要传数据的那张表,Vo里面记录着数据库表示父级和子级和表名的3个字段,然后赋值,将数据库字段按关系分别给父级和子级的关系值。再给一个for循环让它把所以满足关系的值都显示出来。写完再将方法路径放入页面的url里面就可以显示出数据库里字段的树形关系了。
点击数据并回填到input框的方法:
function zTreeOnClick(event, treeId, treeNode) {
$("#CategoryName(input框的ID)").val(treeNode.name);
$("#SYS_CategoryID 下拉框ID,回填下拉框数据前要先绑定下拉框数据").val(treeNode.pId);
};
方法是固定的,只不过就是回填数据的框的命名不同,回填的name值就是回填子级内容,回填的PId就是回填的父级内容。