今天使用jqGrid控件做展示数据时,遇到一个非常奇怪的问题,特把这个问题记载下来,为免以后再犯相同错误时,有个参考,或许也对网友有所帮助。
jqGrid是我常用的一个网络控件,功能十分强大。
今天打算利用jqGrid展示一个主表从,本来效果图类似如下:
可结果没有如我所愿,出现了如下效果图:
明细表没能显示出来。
这个问题出现后,真让我纳闷了一天,jqGrid这种功能在几个项目中我都使用到,熟路轻车了,可这次为什么出了问题呢?可是出了问题,总要解决掉。特地利用下班时间把脚本代码看了又看,没有什么问题,程序运行了一次以一次,还是老问题。
后来,灵机一现,是不是一些特殊字符导致问题,之前也有遇到特殊字符导致奇怪问题。
原来我是把OID这字段作为第一列字段, OID字段第一个字符为'.',问题就出在这里。因为jqGrid会从第一个字段获取数值,这里为".1.3.6.1.4.1.17409.1.3.3.2.1.0",来作为动态生成div及table的ID,而导致了上述奇怪问题。
问题的根源找到了,解决的方法当然也就有了,我把ID作为第一列字段,ID字段存储的是GUID值,第一个字符非'.'。最终效果图如下: