最近在使用EasyUI DataGrid来做前端的报表开发,遇到了这个报错:

Uncaught TypeError: Cannot read property 'width' of null

在网上查找解决方案,基本上都告诉你检查各种属性名是否有拼写的错误,一般都是这个原因导致的。我自己也做了检查,并没有发现什么问题,以下是我的代码:

columns: [
[
{ align: 'center', colspan: "4", title: "支付宝" },
{ align: 'center', colspan: "4", title: "微信-APP" },
{ align: 'center', colspan: "4", title: "微信-公众号" },
{ align: 'center', colspan: "4", title: "建行" },
{ align: 'center', colspan: "4", title: "银联" },
{ field: 'incomeCount_total', align: 'center', rowspan: 2, title: "合计收入笔数" },
{ field: 'income_total', align: 'center', rowspan: 2, title: "合计收入金额" },
{ field: 'payCount_total', align: 'center', rowspan: 2, title: "合计支出笔数" },
{ field: 'pay_total', align: 'center', rowspan: 2, title: "合计支出金额" }
]
]

查找了很多的解决办法,依然没找出问题所在,后面自己想着有没有可能是colspan的值不应该是字符串类型,因为想到报的是width的问题,然后自己就尝试将"4"修改为4,果然没报错了。这真的很让人无语,因为自己用过的table插件里面,LayUI以及JqGrid等,都没有强制要求这些方面,同时这个报错并未指向具体的原因,所以会让很多人摸不着头脑,我自己也是比较幸运,才能找到问题的所在。   不过,这还没完,因为我有冻结列,所以要添加冻结列的配置,然后我有复杂表头,因此有rowspan,以下是一个局部的配置代码:

frozenColumns: [[
{ field: 'reason', align: 'center', "rowspan": 2, title: "业务类型" }
]],
columns: [
[
{ align: 'center', colspan: 4, title: "支付宝" },
{ align: 'center', colspan: 4, title: "微信-APP" },
{ align: 'center', colspan: 4, title: "微信-公众号" },
{ align: 'center', colspan: 4, title: "建行" },
{ align: 'center', colspan: 4, title: "银联" },
{ field: 'incomeCount_total', align: 'center', rowspan: 2, title: "合计收入笔数" },
{ field: 'income_total', align: 'center', rowspan: 2, title: "合计收入金额" },
{ field: 'payCount_total', align: 'center', rowspan: 2, title: "合计支出笔数" },
{ field: 'pay_total', align: 'center', rowspan: 2, title: "合计支出金额" }
]
]

我吸取教训,冻结列的rowspan给到了整数类型,但是依然还是报了错误:

Uncaught TypeError: Cannot set property '0' of undefined

这个真让我觉得奇怪了,另外一个错误,然后还没能在网上找到解决办法。但是心想肯定还是rowspan那个地方有问题,就慢慢的尝试修改它的值类型,都无果,后面索性干掉rowspan算了,因为反正也解决不了,然后复杂表头那个地方就将就着吧,谁能想到,去掉rowspan后,没报错,然后也正常的合并了2格,这是真的神奇。 由此可见,EasyUI的冻结列不需要配置合并单元格的情况,框架自己会处理。同时不仅要吐槽一下这个插件,界面不仅古老,插件的错误处理也很不科学。

最新文章

  1. mysql导入导出.csv格式数据
  2. Python使用re模块正则式的预编译及pickle方案
  3. jQuery in action 3rd - Introducing jQuery
  4. javascript和C#比较
  5. Blog 入职新公司的一些吐槽!
  6. 【NodeJS】---express配置ejs mongoose route等
  7. .net(c#) winform文本框只能输入数字,不能其他非法字符
  8. 不实名认证去除新浪云SEA的实名认证提示的方法
  9. Oracle Form 特殊的默认值 $$variables$$
  10. 【BZOJ 3476】 线段树===
  11. 第8章BOM笔记
  12. 一入python深似海--浅拷贝与深拷贝
  13. 引用 模块编译Makefile模板
  14. 【django之orm小练习】
  15. [RPC Fault faultString="Cannot invoke method 'saveOrUpdate'." faultCode="Server.ResourceUnavailable"
  16. AWS 认证攻略(SA)
  17. [转] Redux入门教程(快速上手)
  18. IDEA创建简单SSM项目使用传统Jar包
  19. python网络socket编程
  20. java中三种注释

热门文章

  1. 13、前端知识点--ajax原理以及实现过程
  2. Python 爬虫 校花网
  3. EL表达式多条件判断
  4. java 判断点是否在一条线段上
  5. 后台PDF返回Base64,前台接收预览
  6. SIGINT、SIGQUIT、 SIGTERM、SIGSTOP区别
  7. wireshare文件格式
  8. [web 安全] 源码泄露
  9. Python---基础---dict和set2
  10. Vue----项目增加百度统计