抱歉,但很难理解您想要拥有哪种行为。
首先,您必须决定您是否知道网格列的哪个宽度是最好的,或者您想要对列进行缩放(拉伸),并且列宽将被解释为权重。如果你想要最后的行为,你应该选择 default setting shrinkToFit: true
。在这种情况下width
,100、200 和 300 的值与值 1、2 和 3 的含义完全相同。
我个人在实践中主要有许多列的网格。因此,在小型显示器上使用默认设置shrinkToFit: true
,并伴随着大量的列挤压。因此,人们将无法真正在网格上看到任何有用的信息。所以我更喜欢shrinkToFit: false
在案例中使用。我知道每列的像素宽度负责,并width
在创建网格期间设置值。因此,拥有大显示器的用户可以直接看到所有最重要的信息。此外,我没有width
为网格指定任何参数。如果需要,用户使用页面的滚动条。您的要求可能不同,应该选择最适合您的值。
如果您仍然希望使用shrinkToFit: true
,但确实使用其他一些宽度值作为网格所有宽度的总和,那么您还有一个选择。你可以使用setGridWidth
方法。它有可选的第二个布尔参数shrink
。使用setGridWidth
带一个参数的方法会根据shrinkToFit
网格选项的值进行收缩,但是显式使用第二个参数可以让您在不收缩shrink
的情况下更改宽度。可能是您想要实现的wnat。
我在答案中描述的另一种选择。jqGrid 没有任何方法可以将网格的某些列的宽度更改为新值。在答案中,我描述了解决方法(请参阅resizeStop
答案中的回调代码),它使用内部dragEnd
方法来更改列宽。该演示将用于子网格,但可以对每个网格使用相同的方法。