jqGrid,将子网格列宽设置为百分比?

时间:2013-05-01 14:02:39

标签: javascript jqgrid

我将主网格设置为autowidth: true,但是如何对子网格执行相同的操作以使其与父网格的宽度相同,并且列都是相对/可变/百分比宽度?< / p>

2 个答案:

答案 0 :(得分:1)

你在评论中写到其他人回答问题

  

为什么colModel和subGridModel两个完全不同的数据   结构

间接地,你在主要问题上回答了自己。旧样式子网格的使用(请参阅the official jqGrid demo上的“高级”/“子网格”)有太多限制。如果您使用subgrid as grid(请参阅the the same jqGrid demo上的“高级”/“网格作为子网格”),您可以创建相同的结果,但更具灵活性。您可以使用格式化程序(包括自定义格式化程序)使用cellattrrowattr回调,在子网格中使用autowidth: true选项,依此类推。您拥有与主网格完全相同的可能性集。如果你在$.jgrid.defaults中定义一些常见的回调,你可以共享子网格和主网格的回调代码......

我可以继续使用Grid作为Subgrid的优点列表。我的简短建议:始终只使用该功能。

答案 1 :(得分:0)

subGerid的宽度将在初始化时设置,并且因为它在构建时不包含任何数据,它将是总列宽的大小。每次加载子网格

时,可以通过设置网格的宽度来解决这个问题
$('#ParentGridName, #SubGridName').jqGrid('setGridWidth', $('#IdOfHTMLElementHoldingGrids').width(), true);

这将同步父网格和子网格大小。如果您担心窗口被重新调整大小,您可以将其称为事件处理程序的一部分。

实施例

window.onresize = function () { resizePageGrids() }