最近在使用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的冻结列不需要配置合并单元格的情况,框架自己会处理。同时不仅要吐槽一下这个插件,界面不仅古老,插件的错误处理也很不科学。

EasyUI:Cannot read property 'width' of null的更多相关文章

  1. jquery easyui datagrid 空白条处理 自适应宽高 格式化函数formmater 初始化时会报错 cannot read property 'width'||'length' of null|undefined

    1---表格定义好之后右侧可能会有一个空白条 这个空白条是留给滚动条的,当表格中的一页的数据在页面中不能全显示时会自动出现滚动条,网上有很多事要改源码才可以修改这个,但是当项目中多处用到时,有的需要滚 ...

  2. 百度ueditor 实例化 Cannot set property 'innerHTML' of null 完美解决方案

    此时此刻,我正在用博客园推荐的TinyMCE编辑器写这个博客,突然想起最近在项目中使用百度ueditor编辑器中的一些经历.所以记录在此,与大家分享. 不得不说,百度ueditor是一款很好的在线编辑 ...

  3. Extjs4---Cannot read property 'addCls' of null

    用MVC做后台管理系统时遇到的问题,关于tab关闭后再打开不显示,或者报错 我在新的tabpanel中加入了一个grid,当我关闭再次打开就会报错Cannot read property 'addCl ...

  4. extjs Cannot read property 'dom' of null

    如果你的EXTJS报错: Cannot read property 'dom' of null,那就有可能是因为你的HTML或者JSP文件中的BODY标签里面少了个东西比如代码是: <html& ...

  5. Extjs4---Cannot read property 'addCls' of null - heirenheiren的专栏 - 博客频道 - CSDN.NET

    body { font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLi ...

  6. vue-cli +echarts-amap集成echarts和高德地图TypeError: Cannot read property 'dataToPoint' of null解决方案

    由于项目的需求,需要做一种迁徙效果, 最后我们采用了组件化开发,可以说这个坑自己一个人踩,有点累,但也收获不少. vue-cli +echarts-amap集成echarts和高德地图,出现报错,错误 ...

  7. Extjs4---Cannot read property 'addCls' of null 或者 el is null 关于tab关闭后再打开不显示或者报错

    做后台管理系统时遇到的问题,关于tab关闭后再打开不显示,或者报错 我在新的tabpanel中加入了一个grid,当我关闭再次打开就会报错Cannot read property 'addCls' o ...

  8. Cannot read property 'nodeType' of null; audio元素默认样式下载按钮

    1.chrome-->console抛出如下错误: Uncaught TypeError: Cannot read property 'nodeType' of null 错误原因:从stack ...

  9. Uncaught TypeError: Cannot set property 'onclick' of null解决办法

    如果把js内容直接放在这个head标签以内,button按钮不能正常点击更换body的背景颜色,报错提示:demo6.html:16 Uncaught TypeError: Cannot set pr ...

随机推荐

  1. http请求中的Content-Length作用机制与分块chunked

    httpclient-4.5.9.jar org.apache.http: auth     身份 client    端 conn     连接 cookie  本地 impl:    实现 exe ...

  2. 【记录】Git pull(拉取),push(上传)命令整理(详细)

    前言:博主最近在学习git命令,因为git是一个非常好用的分布式版本管理工具,功能比svn强大,与SVN不同点是Git去中心化,每一个分支都是一个中心,并且支持本地仓库存储,像如今很多大公司都用git ...

  3. C# 获取系统环境数据

    using System; using System.Data; using System.Text.RegularExpressions; using System.Threading; names ...

  4. Linq 高级应用实例

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...

  5. 2018-10-16-weekly

    Algorithm 判断子序列 What 给定字符串 s 和 t ,判断 s 是否为 t 的子序列.如,"ace"是"abcde"的一个子序列,而"a ...

  6. cx_Oracle python模块安装

    1. 需要从oracle网站下载一下两个包 instantclient-basic-linux.x64-11.2.0.4.0.zip instantclient-sdk-linux.x64-11.2. ...

  7. flask之Twitter Bootstrap

    一:Twitter Bootstrap是什么? 1.开源框架:提供用户页面组件. 2.可以创建整洁且具有吸引力的网站,并且网站能兼容所有现代的Web浏览器. 特点: Bootstrap 是客户端框架, ...

  8. Task7.卷积神经网络

    卷积定义: 所谓卷积,其实是一种数学运算.但是在我们的学习生涯中,往往它都是披上了一层外衣,使得我们经常知其然不知其所以然.比如在信号系统中,他是以一维卷积的形式出现描述系统脉冲响应.又比如在图像处理 ...

  9. django数据库迁移相关【sqlite3迁移到MySQL】(django2.0.3测试通过)

    前言 项目部署到服务器之后,用的数据库还是sqlite3. 发现一些问题,sqlite3是小巧,但是服务器上查看数据库比较费劲,不能直观看到数据.可是我们经常需要即时.直观查看数据,这就用到MySQL ...

  10. 【CF1257F】Make Them Similar【meet in the middle+hash】

    题意:给定n个数,让你给出一个数,使得n个数与给出的数异或后得到的数的二进制表示中1的数量相同 题解:考虑暴搜2^30去找答案,显然不可接受 显然可以发现,这是一个经典的meet in the mid ...