我有一个有 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}");
Run Code Online (Sandbox Code Playgroud)
表格网格宽度为 95%,并根据窗口大小而变化。
现在我需要自动调整两个列的宽度以填充整个网格。我不想在网格末尾显示空白区域。
由于评论中提到的内容有效,为了完整起见,我将添加此答案。根据用于自动调整列的 jqGrid的wiki,您可以使用该选项 shrinktofit:true。
根据 wikiShrinkToFit执行以下操作:
此选项(如果设置)定义应如何重新计算网格列的宽度,同时考虑网格的宽度。如果此值为真,并且列的宽度也已设置,则每一列都按其宽度成比例缩放。例如,如果我们定义两列的宽度分别为 80 和 120 像素,但希望网格的宽度为 300 像素,那么这些列将拉伸以适应整个网格,分配给它们的额外宽度将取决于宽度列本身和可用的额外宽度。重新计算如下:第一列得到宽度(300(新宽度)/200(所有宽度之和))*80(第一列宽度)= 120像素,第二列得到宽度(300 (新宽度)/200(所有宽度的总和))*120(第二列宽度)= 180 像素。现在列的宽度总和为 300 像素,这是网格的宽度。如果值为 false 并且设置了宽度选项中的值,则不会发生任何重新调整大小。因此在本例中,如果shrinkToFit 设置为false,则第一列的宽度为80 像素,第二列的宽度为120 像素,网格将保留300 像素的宽度。如果shrinkToFit 的值为整数,则根据它计算宽度。- 可以详细说明使用整数的效果。第二列的宽度为 120 像素,网格将保留 300 像素的宽度。如果shrinkToFit 的值为整数,则根据它计算宽度。- 可以详细说明使用整数的效果。第二列的宽度为 120 像素,网格将保留 300 像素的宽度。如果shrinkToFit 的值为整数,则根据它计算宽度。- 可以详细说明使用整数的效果。