我用的是ASP页面,使用ingrid插件,能正常显示效果,但当点击排序和下一页之类的功能 的时候就跳出来下面的提示: Error:Total columns returned[6] do not match Ingrid[4] 有没有哪位用过这插件的,应该怎样设置呢?

解决方案 »

  1.   

    我在jsp页面上也遇到同样的问题,关注中
      

  2.   

    研究了一下Ingrid的源码,发现是返回的结果格式与它所期望的有差异,或者是它本身有bug。因为我每次查询成功后都是返回到当前页面,它的源码ingrid.js中有一行代码要获取结果集的列来做判断:    if (cfg.dataType == 'html') {
          var $tbl = jQuery(result);
          var row  = $tbl.find('tr:first');      if ( jQuery(row).find('td').length == cfg.colWidths.length ) {注意第三行代码,var row  = $tbl.find('tr:first');,在返回页面的第一个tr中找td,然后根据td的个数与原来表格中的列数作判断,看是否一致。结果我发现第一个tr是表格的头部,里面没有td,只有th,所以总是返回结果[0],于是我改成以下代码后,运行正常:    if (cfg.dataType == 'html') {
          var $tbl = jQuery(result);
          var row  = $tbl.find('tbody > tr:first');      if ( jQuery(row).find('td').length == cfg.colWidths.length ) {意思就是在tbody中找第一个tr,这样就跳过了thead,正确地找到了数据行中的td,判断通过后运行正常。
    ……估计楼主遇到的问题与我所遇到的类似,你可以把返回结果alert一下,看看第一个tr中是什么内容。    if (cfg.dataType == 'html') {
          var $tbl = jQuery(result);
          alert(MyResult:'+result);
          var row  = $tbl.find('tr:first');      if ( jQuery(row).find('td').length == cfg.colWidths.length ) {