2

我在使用 jQuery 的 JQGrid 时遇到了一个奇怪的问题,以下片段代码用于创建它:

grid= jQuery("#grid_id").jqGrid({
    data : response.list,
    datatype : "local",
    colNames : columnNames,
    colModel : [ {....}],                       
    rowNum : 30,
    width : $("#grid_id").width(),
    height: $("#grid_page").height(),
    rowList : [ 30, 100, 150 ],
    pager : "#grid_page",
    sortname : 'name',
    viewrecords : true,
    sortorder : "desc",
    shrinkToFit: false,
    rownumbers: true,
    altRows:true,
    caption: "Sample Grid"
});

此问题有 3 个症状:

1、这个网格有超过35列,每列的宽度大于100PX,这个网格的宽度固定在1000PX,所以网格显示一个滚动条供用户查看所有列。(如您所见,我将网格宽度和高度设置为固定值)

2、这个格子第一次很好用,但是第二次或以后更新时,它的标题和内容都不见了。

3,我试图评论宽度设置,换句话说,我没有给这个网格设置宽度,无论是第一次还是第二次都可以,但是网格的宽度是所有的总和列(3500PX),它扩展了整个页面丑陋。

grid= jQuery("#grid_id").jqGrid({
    data : response.list,
    datatype : "local",
    colNames : columnNames,
    colModel : [ {....}],                       
    rowNum : 30,
    // width : $("#grid_id").width(), COMMENT it.
    height: $("#grid_page").height(),
    rowList : [ 30, 100, 150 ],
    pager : "#grid_page",
    sortname : 'name',
    viewrecords : true,
    sortorder : "desc",
    shrinkToFit: false,
    rownumbers: true,
    altRows:true,
    caption: "Sample Grid"
});

所以我想问的问题是:将宽度和高度设置为 jQuery JQGrid 的最佳解决方案是什么?应该如何将它们设置到我的网格中?

简单地说,如何让一个有许多列的网格与 X 滚动条一起使用?

4

1 回答 1

3

经过多次尝试,我解决了这个问题。就我而言,如果网格需要有固定的宽度和高度,并且当它的列太多时显示水平滚动条,就像下面设置jqGrid的方法一样:

grid= jQuery("#grid_id").jqGrid({
    width : 1000,
    height: 800,
    shrinkToFit: false,
});

确保网格正常工作的最重要的事情是您应该将 THML 配置 'align="center"' 添加到网格附加的表中。

<table id="grid_id" align="center"></table>

我不知道为什么这可以解决它,但无论如何,它有效。

于 2012-11-07T08:55:28.900 回答