根据表格网格宽度自动调整jqgrid列宽

时间:2012-09-12 18:17:36

标签: jquery jqgrid

我有一个有2列的网格。以下是列模型:

colModel.append("{name:\"group_id\",index:\"GOID\",width:80,sortable:true,align:\"left\", formatter:linkFormat, unformat:unformatLink}\n")
        .append(",{name:\"group_name\",index:\"GNAME\",width:350,sortable:true,align:\"left\", formatter:formatHtml, unformat:unformatHtml}");

表格网格宽度为95%,并根据窗口大小而变化。

现在我需要自动调整两个列宽以填充整个网格。我不想在网格的末尾显示空白空间。

1 个答案:

答案 0 :(得分:4)

由于评论中提到的内容有效,我将为完整性添加此答案。根据jqGrid的wiki自动调整列,您可以使用option shrinktofit:true

根据维基ShrinkToFit执行以下操作:

  

此选项(如果已设置)定义了列的宽度   应该重新计算网格,考虑到网格的宽度   网格。如果此值为true,则列的宽度也是   设置,然后每列按比例缩放。对于   例如,如果我们定义两个宽度为80和120像素的列,但是   希望网格的宽度为300像素,然后列将   拉伸以适合整个网格,以及分配给它们的额外宽度   将取决于列本身的宽度和额外的宽度   可用。重新计算如下:第一列   得到宽度(300(新宽度)/ 200(所有宽度的总和))* 80(第一列   width)= 120像素,第二列得到宽度(300(新)   宽度)/ 200(所有宽度的总和))* 120(第二列宽度)= 180像素。   现在,列的宽度总计为300像素,即宽度   的网格。如果值为false且width选项中的值为   设置,然后没有任何重新调整大小。所以在这个例子中,如果   shrinkToFit设置为false,第一列的宽度为80   像素,第二列的宽度为120像素,网格将为   保留300像素的宽度。如果shrinkToFit的值是   整数,宽度根据它计算。 - 的效果   使用整数可以详细说明。