1

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

4

2 回答 2

1

subGrid 的宽度将在初始化时设置,并且由于它在构建时不包含任何数据,因此它将是总列宽的大小。您可以通过在每次加载子网格时设置网格的宽度来解决此问题

$('#ParentGridName, #SubGridName').jqGrid('setGridWidth', $('#IdOfHTMLElementHoldingGrids').width(), true);

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

前任。

window.onresize = function () { resizePageGrids() }
于 2013-05-01T14:10:21.110 回答
1

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

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

你间接地回答了你的主要问题。旧式子网格的使用(参见官方 jqGrid 演示中的“高级”/“子网格” )有太多限制。如果您将subgrid 用作网格(请参阅同一个 jqGrid 演示中的“高级”/“Grid as Subgrid” ),您可以创建相同的结果,但您有更多的灵活性。您可以使用例如格式化程序(包括自定义格式化程序)使用cellattrrowattr回调,使用autowidth: true子网格中的选项等。您拥有与主网格中完全相同的一组可能性。如果你定义了一些常见的回调,$.jgrid.defaults你可以共享子网格和主网格的回调代码......

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

于 2013-05-01T18:51:04.510 回答