一、重要参数rowNum和rowList

在使用jqGrid框架进行数据展示的时候。我们经常会用到初始化参数中的rowNum和rowList。一个表示展示的记录数,一个表示可选的展示记录数。具体参数请参考官方文档,http://blog.mn886.net/jqGrid/。

二、分页后的数据展示问题分析

一般情况下,当我们将查询条件所需的参数传递给后台,返回给jqGrid框架展示的数据就是我们经过后台处理需要得到的数据。

但是,当我们涉及到多表的数据获取和展示时,有一种情况会造成我们需要获取的数据受到rowNum的影响。

比如,rowList中可供选择的有10、50、100。也就是一页展示10条50条100条记录。

1 rowNum: 10,
2 rowList: [10, 50, 100],

当我们需要获取某张表中数据,我们通过查询数据库得到数据,并传递给前台即jqGrid,并展示10条数据。

如果我们在后台通过查询得到了10条数据,但是涉及到对这10条内容的条件判断,是否要将这10条满足条件的内容返回给前台。

这个时候,一页展示的内容少于10条记录时,rowList选择50或者100都是少于50条或100条记录,这时候整个人可能会垮掉,自己的操作没错,却怎么也意识不到为什么会出这种情况。

小伙伴们不要惊慌,这与rowNum是10或50或者100影响结果展示的多少无关,原因在于rowNum已经限制了我们查库的数据量,由因为我们对查询的结果又进行条件判断,导致满足条件的数据被展示出来,不满足的就没被展示。

三、总结一下

解决办法是:我们可以写多表操作的sql语句,写既满足rowNum条数限制又满足我们对需要展示哪些数据的要求的sql语句,将sql语句放在数据库中查询,最后得到展示的结果。这样较好的解决的分页后的数据展示问题。