【问题标题】:Auto adjust jqgrid column width according to table grid width根据表格网格宽度自动调整jqgrid列宽
【发布时间】:2012-09-12 18:17:35
【问题描述】:

我有一个有 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%,并根据窗口大小而变化。

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

【问题讨论】:

  • 您是否在网格中禁用了shrinktofit(即false),默认情况下应该启用它并为您处理。
  • 是的.. 成功了.. 非常感谢

标签: jquery jqgrid


【解决方案1】:

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

根据 wiki ShrinkToFit 执行以下操作:

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

【讨论】:

  • @user1666648 如果可行,您可以接受它作为答案。
猜你喜欢
  • 2018-07-16
  • 2012-03-24
  • 1970-01-01
  • 2011-04-18
  • 2014-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-23
相关资源
最近更新 更多