Layui treeTable 使用【数据不显示、子级不显示】
//返回JSON数据类
public class LeaveMessageTreeTable
{
public LeaveMessageTreeTable()
{
this.children = new List<LeaveMessageTreeTable>();
this.isParent = false;
} public int Id { get; set; }
public int UserId { get; set; }
public int BeUserId { get; set; }
public string name { get; set; }
public string? UserIp { get; set; }
public string? UserAddress { get; set; }
public string Content { get; set; }
public int Status { get; set; }
public DateTime CreateTime { get; set; }
public bool isParent { get; set; }
public int? parentId { get; set; }
public List<LeaveMessageTreeTable> children { get; set; } }

!!!一直不显示子级或者数据出不来一定要注意这4个字段,字段名一定要一模一样 ,包括大小写!!!
数据中标红线的都是必填的,且字段名要一模一样,大小写也要一致
children:表示子级数据,数据格式跟父级一致
isParent:是否有父级:有就位true,否则为false,因此第一级一定是false
name:就是图中的用户名,点击下一级的地方,这个名字是固定的,必须要有
parentId:跟子级关联的父级Id,没有父级则为null
页面JS
layui.use(function () {
var treeTable = layui.treeTable;
var layer = layui.layer;
var dropdown = layui.dropdown;
// 渲染
var inst = treeTable.render({
elem: '#ID-treeTable-demo',
url: '/Area/LeaveMessage/GetLeaveMessageByCurUser', // 此处为静态模拟数据,实际使用时需换成真实接口
maxHeight: '501px',
toolbar: '#TPL-treeTable-demo',
cols: [[
{ type: 'checkbox', fixed: 'left' },
{ field: 'Id', title: 'ID', width: 80, sort: true, fixed: 'left' },
{ field: 'name', title: '用户名', width: 180, fixed: 'left' },
{ field: 'UserIp', title: '城市', width: 80, sort: true },
{ field: 'Content', title: '留言内容', width: 400, sort: true },
{ field: 'Status', title: '状态', width: 80 },
{ fixed: "right", title: "操作", width: 200, align: "center", toolbar: "#TPL-treeTable-demo-tools" }
]],
page: true
});
// 表头工具栏工具事件
treeTable.on("toolbar(ID-treeTable-demo)", function (obj) {
var config = obj.config;
var tableId = config.id;
var status = treeTable.checkStatus(tableId);
// 获取选中行
if (obj.event === "getChecked") {
if (!status.data.length) return layer.msg('无选中数据');
console.log(status);
layer.alert("当前数据选中已经输出到控制台,<br>您可按 F12 从控制台中查看结果。");
}
});
// 单元格工具事件
treeTable.on('tool(' + inst.config.id + ')', function (obj) {
var layEvent = obj.event; // 获得 lay-event 对应的值
var trElem = obj.tr;
var trData = obj.data;
var tableId = obj.config.id;
if (layEvent === "detail") {
layer.msg("查看操作:" + trData.name);
} else if (layEvent === "addChild") {
var data = { id: Date.now(), name: "新节点" };
var newNode2 = treeTable.addNodes(tableId, {
parentIndex: trData["LAY_DATA_INDEX"],
index: -1,
data: data
});
} else if (layEvent === "more") {
// 下拉菜单
dropdown.render({
elem: this, // 触发事件的 DOM 对象
show: true, // 外部事件触发即显示
align: "right", // 右对齐弹出
data: [
{
title: "修改积分",
id: "edit"
},
{
title: "删除",
id: "del"
}
],
click: function (menudata) {
if (menudata.id === "del") {
layer.confirm("真的删除行么", function (index) {
obj.del(); // 等效如下
// treeTable.removeNode(tableId, trElem.attr('data-index'))
layer.close(index);
});
} else if (menudata.id === "edit") {
layer.prompt({
value: trData.experience,
title: "输入新的积分"
}, function (value, index) {
obj.update({ experience: value }); // 等效如下
// treeTable.updateNode(tableId, trElem.attr('data-index'), {experience: value});
layer.close(index);
});
}
}
});
}
});
});
Layui treeTable 使用【数据不显示、子级不显示】的更多相关文章
- layui 父子弹窗数据交互(包含子弹窗自己关闭并给父弹窗数据填充)
//父级弹窗 function showAlertOrg() { layui.use('layer', function () { var body; var index = layer.open({ ...
- linq根据传入数据集合查询对应子级数据
工作中经常用到的linq根据传入数据集合查询对应子级数据,整理共享,希望大家都能用得上,代码中doublesArray 为父节点对应ID数据集合,再根据ID数据集合查询全部子级数据. //获取缓存数据 ...
- linq依据传入数据集合查询相应子级数据
工作中经经常使用到的linq依据传入数据集合查询相应子级数据,整理共享,希望大家都能用得上,代码中doublesArray 为父节点相应ID数据集合,再依据ID数据集合查询所有子级数据. //获取缓存 ...
- Vue父子组件通信(父级向子级传递数据、子级向父级传递数据、Vue父子组件存储到data数据的访问)
Vue父子组件通信(父级向子级传递数据.子级向父级传递数据.Vue父子组件存储到data数据的访问) 一.父级向子级传递数据[Prop]: ● Prop:子组件在自身标签上,使用自定义的属性来接收外界 ...
- Ztree _ 横向显示子节点、点击文字勾选、去除指定元素input的勾选状态
前些天项目需要树结构表现数据,需求ztree就能满足所以直接使用ztree只是踩了些小坑... 1.ztree子节点横向显示(下图): 效果说明:第三级子节点按需求横向显示其他竖向显示,每行最多显示5 ...
- vue结合Ant Design实现后台系统的权限分配(支持无限子级嵌套)
最近公司的业务需要,要做一个后台管理系统的管理系统类似于这样子 功能需求如下: 左边是权限菜单,右边对应的是具体权限. 1.父级权限菜单选中,父级权限菜单的权限包括其中所有子级权限菜单的权限也要选中, ...
- 128_Power BI父级排名TOPN子级动态展示
博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 前些天在和朋友交流Power BI中有这样一个需求,按照父级排名后,需要显示出父级TOPN的子级明细. 如下&l ...
- [Unity3D]巧妙利用父级子级实现Camera场景平面漫游
本文系作者原创,转载请注明出处 入门级的笔者想了一上午才搞懂那个欧拉角的Camera旋转..=.= 在调试场景的时候,每次都本能的按下W想前进,但是这是不可能的(呵呵) 于是便心血来潮想顺便添加个Ke ...
- AGS中通过FeatureServer插入数据失败、插入数据在WMTS请求中无法显示以及version概念的讨论
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 在多个项目中,当我方接口给其他部门人员使用时出现了插入数据失 ...
- ThinkPHP 关联模型中查询某条记录的父级(非查询子级)
数据表 id cat_name cat_pid 76 手机.数码 0 84 手机配件 76 86 蓝牙耳机 84 从属关 ...
随机推荐
- LeetCode155:最小栈,最简单的中等难度题,时间击败100%,内存也低于官方
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 最近运气不错,在LeetCode上白捡一道送 ...
- 关闭k8s的pod时减小对服务的影响
在应用程序的整个生命周期中,正在运行的 pod 会由于多种原因而终止.在某些情况下,Kubernetes 会因用户输入(例如更新或删除 Deployment 时)而终止 pod.在其他情况下,Kube ...
- xv6 进程切换中的锁:MIT6.s081/6.828 lectrue12:Coordination 以及 Lab6 Thread 心得
引言 这节课和上一节xv6进程切换是一个完整的的进程切换专题,上一节主要讨论进程切换过程中的细节,而这一节主要讨论进程切换过程中锁的使用,所以本节的两大关键词就是"Coordination& ...
- 产品代码都给你看了,可别再说不会DDD(六):聚合根与资源库
这是一个讲解DDD落地的文章系列,作者是<实现领域驱动设计>的译者滕云.本文章系列以一个真实的并已成功上线的软件项目--码如云(https://www.mryqr.com)为例,系统性地讲 ...
- ArcGIS将遥感影像的0值设置为NoData
本文介绍在ArcMap软件中,将栅格图层中的0值或其他指定数值作为NoData值的方法. 在处理栅格图像时,有时会发现如下图所示的情况--我们对某一个区域的栅格数据进行分类着色后,其周边区域( ...
- Arduino 麦克风声音传感器指南
麦克风声音传感器 麦克风声音传感器,顾名思义,检测声音.它可以测量声音的响度. 这些传感器的种类繁多. 在下图中,您可以看到 Arduino 最常用的. 最左边是KY-038,右边是LM393麦克风 ...
- [第五空间 2021]yet_another_mysql_injection
随便输入进去,发现只有账号是admin可以进入 使用弱密码admin admin,报错为hacker 就没啥办法了,想着F12看一下源码 发现有一个source,打开看看 可以发现username是固 ...
- SQL还是NoSQL?架构师必备选型技能
很多时候我们都会有这样的疑问. 如果这时候直接去看MySQL.Mongo.HBase.Redis等数据库的用法.特点.区别,其实有点太着急了. 这时候,最好从「数据模型」开始讨论. 1.SQL vs ...
- 【Java集合】了解集合的框架体系结构及常用实现类,从入门到精通!
前言 通过Java基础的学习,我们掌握了主要的Java语言基本的语法,同时了解学习了Java语言的核心-面向对象编程思想. 从集合框架开始,也就是进入了java这些基础知识及面向对象思想进入实际应用编 ...
- 实战攻防演练-利用Everything搜索软件进行内网后渗透利用
前言 Everything是一款很出名的文件搜索工具,基于文件.文件夹名称的快速搜索的轻量级的软件,而早在几年前就有很多apt组织利用everything来进行文件查找等,前几年在T00ls上也有人发 ...