我有以下代码在窗口中显示表,当用户尝试调整列大小时,它可以正常工作:
$(document).ready(function() {
$("#list").jqGrid({
datastr: $(some data string),
datatype: 'jsonstring',
height: "auto",
shrinkToFit: true,
autowidth: true,
colModel: [
{ name:'lala', index: 'lala', , width:50, align:'center' },
{ name:'lele', index: 'lele', , width:50, align:'center' },
.....
],
jsonReader: { repeatitems: false },
gridview:true,
viewrecords: true,
rownumbers: true,
autoencode: true,
height: "100%",
sortable: true,
loadComplete: function () {
var $self = $(this);
if ($self.jqGrid("getGridParam", "datatype") === "jsonstring") {
setTimeout(function () {
$(this).trigger("reloadGrid"); // Call to fix client-side sorting
}, 50);
}
}
});
});
一切都很好。但是,我希望在窗口最大化并重新设置为正常时调整表的大小,因此我添加了以下内容:
$(window).bind('resize', function() {
$("#list").jqGrid('setGridWidth', $(window).width()-30);
}).trigger('resize');
现在,表格可以通过窗口重新调整大小,但是用户无法重新调整列的大小,有人可以让我知道如何在不丢失列调整大小功能的情况下,使窗口仍然可以调整窗口大小?
我希望我很清楚,在此先感谢。
以下帖子提供了该解决方案:
Jqgrid-window.bind事件不允许在IE8中调整列大小
由于某种原因,比较大小并进行相应的更新确实可以解决问题,因此不知道为什么它与每次更新都不同,但是确实起作用了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句