首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jqGrid subGrid在滚动后停止打开

jqGrid subGrid在滚动后停止打开
EN

Stack Overflow用户
提问于 2011-10-18 23:24:14
回答 2查看 957关注 0票数 2

我有一个使用subGrid的网格(4.1.1版本)。当网格第一次加载时,我可以毫无问题地打开subGrids,直到将主网格向下滚动到加载更多的数据。在此之后,没有子网格将打开或关闭。如果我点击加号图标,我会看到“加载.”,但是什么也没有发生。我甚至不能关闭以前打开的subGrids。

这是我的网格定义:

代码语言:javascript
复制
$("#grid_sites").jqGrid({
url:'getgridxmlsites.php',
      postData: {detailid: function() {return $('#hdnDetailId').val(); }},
datatype: 'xml',
height: 260,
width: 832,
shrinkToFit: false,
caption:'',
colNames :['studydetailid', 'Site', 'Name', 'Status', 'Location'],
colModel :[
   {name:'detailid',     index:'detailid', width:0, hidden: true },
   {name:'sitenumber',   index:'sitenumber',    width:60,   align:'right'},
   {name:'name',         index:'name',      width:230},
   {name:'status',       index:'status',        width:110,  align:'center'},
         {name:'location',       index:'location',  width:74}
       ],
 pager:'pager_sites',
 scroll: 1,
 viewrecords:true,
 sortable:true,
 sortname: 'sitenumber',
 autowidth: true,
 pgbuttons: false,
 loadonce: true,
//      gridview: true, // Cannot be used when using subGrid.
 onSelectRow: function(id){ gridRowSelect(id) },
 subGrid: true,
 subGridUrl: 'getgridxmldatabysite.php',
 subgridtype: 'xml',
 subGridModel: [{
        name: ['Owner', 'Phone', 'Status'],
        width: [120, 100, 100],
        align: ['left', 'left', 'left'],
        params: ['detailid']
    }],
  subGridOptions: { reloadOnExpand : false }
});

希望你能帮上忙。

EN

回答 2

Stack Overflow用户

发布于 2011-11-27 01:00:44

我也遇到了类似的问题。看起来,jqgrid中的addSubGrid函数正在添加一个click事件,以将子网格切换到表中的每一行(而不仅仅是刚刚加载的行)。

这导致新行运行良好,但第一个设置迅速展开,然后折叠(两个单击处理程序)。当另一组数据被加载时,第一组行可以正常工作(尽管它们会再次展开、折叠和展开),但是第二组将不再工作。

当我试图找出是否遗漏了JSON中的一些行元数据时,我在addJSON和addSubGrid的组合中有点迷失了。现在,我只是修改了这句话:

代码语言:javascript
复制
$(ts.rows[i].cells[pos]).bind('click', function(e) {

至:

代码语言:javascript
复制
$(ts.rows[i].cells[pos]).unbind('click');
$(ts.rows[i].cells[pos]).bind('click', function(e) {

一切似乎都如期而至。这是jqGrid的4.2.0版本。我仍然不确定这是错误、配置问题还是数据问题,但至少我又开始工作了。

票数 3
EN

Stack Overflow用户

发布于 2014-06-22 04:41:30

在您的配置中,不设置rowNum。因此,我相信jqgrid将使用默认的rowNum,即20,这将导致滚动问题,原因是Robert提到的单击绑定问题。

另一种无需更改jqgrid代码而解决此问题的方法是将rowNum设置为-1。这将只获取所有行,这应该可以,因为您使用的是本地数据。但是,在以前的4.6.0版本中,此修复可能不起作用。(有关将How to show all rows in the jqGrid?设置为-1的更多信息,请参见rowNum )。在4.6.0之前的版本中,我认为主要的解决方案是将rowNum设置为大量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7814927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档