[dhtmlx]group task 失效问题解决
1. 问题描述
使用了Gantt 的Group功能, 但是在进行系统调优,开启smart_rendering的设置后却出现如下状况:
“Group by 时,总有部分task未group”
问题细部描述与解决如下:
2. Group 功能与效果
dhtmlx gantt 提供了对task根据属性进行分组的功能。效果类似:
实现方式的话, 首先导入dhtmlxgantt_grouping.js;接下来在代码中处理如下:
gantt.groupBy({
groups: gantt.serverList(listname),
relation_property: listname,
group_id: "key",
group_text: "label"
});
serverList是Gantt自带的对象, 仅需要往里插入需要排序的栏位的键值信息, 例如:
gantt.serverList("priority", [
{key:"High", label: "High"},
{key:"Normal", label: "Normal"},
{key:"Low", label: "Low"}
]);
这里的key 和Label 可以一下, 也可以不一样。 key 的值和gantt data的值保持一致, label就是页面中显示的值了。
3. 大数据性能调优
Gantt提供了数据量大时的调优方式, 其中重要的一条是开始smart_rendering, 描述如下:
enables the smart rendering mode for gantt's tasks and links rendering
也就是开启智能渲染。 依据一般的规则, 智能渲染也就是按需渲染, 默认页面只渲染可以看到的部分,其他的部分跟前页面的操作动态的渲染,以加快页面访问和操作的速度。
4. 原因探求
追踪一下代码, 发现:目前代码中serverList的值是通过前端的gantt的内部方法_get_tasks_data获取和初始化。
var ganttData = gantt._get_tasks_data();
var list = [];
if(ganttData != null && typeof(ganttData) != 'undefined'){
for(var i=0; i<ganttData.length; i++){
var task = ganttData[i];
var type = task.type;
if(type != null && typeof(type) != 'undefined' && typeof(type) != 'project'){
continue;
}
if(!checkIsExist(list,task[listname])){
list.push(task[listname]);
}
}
}
return list;
Debug时 ,会发现_get_tasks_data并不能取到所有的数据, 举例来说, 有1000笔Task, 这个方法只能获取14笔。导致分类的数据取不完整,也就导致group的功能失效。
5. 解决方案与经验教训
在使用Gantt以及其他前端组件是, 内部的方法还是要慎用。
[dhtmlx]group task 失效问题解决相关推荐
- Bootstrap模态框使用WebUploader点击失效问题解决
Bootstrap模态框使用WebUploader点击失效问题解决 参考文章: (1)Bootstrap模态框使用WebUploader点击失效问题解决 (2)https://www.cnblogs. ...
- Eclipse Ctrl+Alt+↓ 失效问题解决
Eclipse Ctrl+Alt+↓ 失效问题解决 参考文章: (1)Eclipse Ctrl+Alt+↓ 失效问题解决 (2)https://www.cnblogs.com/zblwyj/p/108 ...
- mysql union (all) 后order by的排序失效问题解决
mysql union (all) 后order by的排序失效问题解决 参考文章: (1)mysql union (all) 后order by的排序失效问题解决 (2)https://www.cn ...
- ThinkBook 14P 15P 笔记本结束休眠后触控板手势失效问题解决 亲测可行
ThinkBook 14P 15P 笔记本结束休眠后触控板手势失效问题解决 亲测可行 发现这个问题以后在网上搜了很多,基本网上现有的方案无法彻底解决:比如重启.注销:我也咨询了联想官方客服,结果他们让 ...
- Android Studio 线性布局Linearlayout的控件位置控制l属性Layout_margin失效问题解决
Android Studio 线性布局Linearlayout的控件位置控制l属性Layout_margin失效问题解决 问题:如layout_marginRight ="50dp" ...
- vue的SEO优化——预渲染后路由+点击事件失效问题解决
vue是单页面框架且前后端分离,不利于seo优化.针对这一点,还是有解决办法的. 预渲染后路由+点击事件失效问题解决--近期发现 最近遇到了一个前台官网,由于时间比较紧,所以我选择了用vue框架去搭建 ...
- Nomad 多job/group/task调度测试
目录 Nomad 多job/group/task调度测试 1 搭建nomad集群 2 测试driver=docker 2.1 多job测试 2.2 多group测试 2.3 多task测试 3 测试d ...
- hp惠普笔记本idea alt+inset键失效问题解决
hp惠普笔记本idea alt+inset键失效问题解决 不知道hp的笔记本内置键盘的机制是什么样的,目前找到的解决方法是用以下组合键 ALT + Fn + E
- mysql group 索引失效_介绍mysql索引失效的情况
mysql视频教程栏目索引失效的情况. 索引对于MySQL而言,是非常重要的篇章.索引知识点也巨多,要想掌握透彻,需要逐个知识点一一击破,今天来先来聊聊哪些情况下会导致索引失效. 图片总结版 相关免费 ...
最新文章
- Linux下磁盘分区工具cfdisk的使用
- UVa1388 - Graveyard
- juqery-筛选器-找前后上下
- SpringBoot之使用(一)
- Navicat 用ssh通道连接时总是报错 (报错信息:SSH:expected key exchange group packet form serve...
- 创建一个优质可用的Hyper-V虚拟机模板
- Hibernate api 之常见的类(配置类,会话工厂类,会话类)
- 博图/博途(TIA)V13 V14 V15 V16 软件安装教程,适用于新手的傻瓜式安装方法,强推!!!!
- Vercel部署网易云音乐api
- 动态规划(dp)的总结
- 中兴e8820刷openwrt_2020/05/17 中興E8820V2 OPENWRT自編譯分享 原廠EPPROM修改
- cookie安全性问题
- 解决Ubuntu16.04 wineQQ和wps office 不能输入中文的问题
- 【转摘】图像思维与意识观念的统一——读毕建勋《子非鱼》有感(初稿)[1]
- 数据挖掘与分析应用2:大厂制作周报报表制作方法与标准格式,联动使用index和match配合sumif和sumifs函数
- 研发软件测试费计入什么科目,研发支出中测试费计入什么科目
- HP工作站如何在BIOS下开启、关闭安全芯片
- iptables 跨网段转发
- 很酸-2021年全球程序员收入报告出炉
- 石墨文档入选「2021 数字经济产业 TOP100 榜单」
热门文章
- OpenGL之路(六)贴图
- 深入源码之Commons Logging[转]
- MySQL的表类型和存储引擎
- firefox下光标处插入文本
- X-UA-Compatible 解决IE浏览器样式不兼容问题
- Vue+Electron下Vuex的Dispatch没有效果的解决方案
- 强化学习算法在京东广告序列推荐场景的应用
- 双榜首!华为云擎天架构刷新进化计算大赛新纪录!
- 【报告分享】Facebook IQ 2020年热门话题和趋势报告.pdf(附下载链接)
- A Volumetric Method for Building Complex Models from Range Images