我将主网格设置为autowidth: true
,但是如何对子网格执行相同的操作,以使其与父网格的宽度相同,并且列都是相对/可变/百分比宽度?
问问题
3389 次
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” ),您可以创建相同的结果,但您有更多的灵活性。您可以使用例如格式化程序(包括自定义格式化程序)使用cellattr
和rowattr
回调,使用autowidth: true
子网格中的选项等。您拥有与主网格中完全相同的一组可能性。如果你定义了一些常见的回调,$.jgrid.defaults
你可以共享子网格和主网格的回调代码......
我可以继续列出使用 Grid 作为 Subgrid 的优点。我的简短建议:始终只使用该功能。
于 2013-05-01T18:51:04.510 回答